CHAOSultd Version 5.0m Version 5.0c 15.8.1992 von Th. Morus Walter Inhaltsverzeichnis 1 allgemeine Beschreibung und Leistungsf„higkeit 4 2 Copyright 5 3 Installation 5 3.1 ben”tigte Hardware 5 3.2 Lieferumfang 6 3.3 Installation 6 4 Danksagung 7 5 zur Geschichte von CHAOSultd V5.0 7 5.1 Vorgeschichte 7 5.2 CHAOSultd V5.0 8 5.3 Žnderungen gegenber FRACTAL 4.30 9 5.4 Ausblick 9 6 Fehler 10 6.1 eliminierte Fehler 11 6.2 bekannte Fehler 11 6.3 unbekannte Fehler 12 6.4 Fehler in der Anleitung 12 7 zu dieser Anleitung 12 I CHAOSultd 14 1 Verwaltung von Bildern - der Desktop 14 1.1 Objekte 14 1.2 Objekt-Icon 14 1.3 Selektieren von Objekten 15 1.4 Scrollen 15 1.5 Infoleiste 16 1.6 Speicher-Info 16 1.7 Bilder Packen 17 1.8 Objekte l”schen 18 2 Bilder erzeugen 18 2.1 neue Bilder 18 2.2 Weiterberechnen von Bildern 18 2.3 Vier Bilder 19 2.4 Neu berechnen 19 1 3 Anzeigen 19 3.1 Bilder anzeigen 19 3.2 Block zeigen 21 3.3 Bildvergleich 22 3.4 Parameter anzeigen 22 3.5 Bildinfo 22 4 Filme 23 4.1 Filme erzeugen 23 4.2 Filme „ndern 24 4.3 Filme anzeigen 24 5 Input/Output 24 5.1 Speichern 24 5.2 Laden 25 5.3 Drucken 26 6 Einstellungen 27 6.1 allgemeine Einstellung 28 6.2 Druckereinstellung 29 6.3 Voreinstellung der Bildparameter 30 7 Besonderheiten der Farbversion 30 7.1 Aufl”sungswechsel 30 7.2 Farbeinstellung 30 8 Tastatur-Kommandos 32 9 Sonstiges 32 II die Fractal-Routinen 33 1 der Algorithmus 33 2 Parameter 33 2.1 ben”tigte Parameter 33 2.2 Eingabe der Parameter 35 2.3 Fractalbildfolgen 37 2.4 3d Fractale 37 2.5 freie Fractale 37 3 untersttzte Optionen 39 3.1 Parameter anzeigen 39 3.2 Bild-Info anzeigen 39 3.3 Bilder anzeigen 40 3.4 Block zeigen 40 3.5 neu berechnen 40 2 3.6 Vier Bilder 40 3.7 Hardcopy 40 III Hpfer 41 1 der Algorithmus 41 2 Parameter 41 3 untersttzte Routinen 42 IV Feigenbaum-Diagramme 43 1 Algorithmus 43 2 Parameter 43 3 untersttzte Routinen 43 V Dateiformate 45 1 CHAOSultd-Bilder 45 2 Filme 46 3 Einstellungen 47 VI die Schnittstelle fr externe Routinen 48 1 Beschreibung der ben”tigten Routinen 48 1.1 allgemeine Angaben 49 1.2 Routinen 50 2 Beschreibung der von CHAOSultd zur Verfgung gestellten Routinen 55 2.1 Routinen 56 2.2 Variable 62 3 Vorgehensweise 63 3 1 allgemeine Beschreibung und Leistungsf„higkeit CHAOSultd V5.0 ist ein universelles Programm zur Erzeugung und Verwaltung fraktaler und chaotischer Bilder auf dem Atari ST. Ein paar Stichworte zum Funktionsumfang: o Versionen fr Farb- und Monochrom-Betrieb im Farb-Betrieb l„uft das Programm in mittlerer Aufl”sung, schaltet fr die Darstel- lung von Bildern aber in niedrige Aufl”sung um o Verwaltung von bis zu 9999 Bildern solange der Speicher reicht durch Packen der Bilder sind bei 4 MByte Speicher bis zu mehreren hundert Bildern (in Screen-Gr”sse) m”glich o drei Bildgr”ssen o Berechnung von Bildfolgen, bei denen man nur Start- und Endwerte angibt o Verwaltung von (beliebigen) Bildserien als Film o umfangreiche Hardcopyfunktion fr 24Nadel Matrixdrucker o Erweiterbarkeit um eigene, externe Berechnungsroutinen o Berechnungsroutinen fr - Fractale (einschliesslich Mandelbrot- und Juliamengen) * Schwarzweiss- und Graustufenbilder (in der SW-Version) * eine schnelle Berechnung der Bilder (es gibt zugegebenermassen auch noch etwas schnellere Apfelm„nnchenprogramme, aber CHAOSultd braucht sich auch in dieser Hinsicht nicht zu verstecken) - (pseudo) dreidimensionale Fractale - Fractale mit frei definierter Berechnungsformel (Pickovermengen) - Hpfer (nach Barry Martin) - Feigenbaum-Diagramme Bei der Implementierung der Berechnungsroutinen wurde insbesondere auf m”glichst flexi- ble Parametereingaben geachtet. Dadurch hat der Anwender bei der Bilderzeugung mehr M”glichkeiten als in anderen Programmen. Andererseits in CHAOSultd dadurch sicher nicht das einfachste Programm zur Erzeugung von fraktalen und chaotischen Bildern; an vielen Stellen ist es von Vorteil, wenn man eine Vorstellung von der Arbeitsweise des hinter den Bildern stehenden Algorithmus' hat. Insofern richtet sich CHAOSultd auch nicht in erster Linie an Anf„nger in Sachen Fraktale. Die Algorithmen werden zwar in der Anleitung kurz beschrieben, dabei werden aber teilweise mathematische Grundkenntnisse (z.B. komplexe Zahlen) vorausgesetzt. Trotz dieser Warnung ist natrlich jeder herzlich eingeladen, selbst festzustellen, ob er etwas mit dem Programm anfangen kann. Insbesondere sei hier noch auf die Beispiel-Bilder hin- gewiesen, von denen man ja bei eigenen Experimenten mit den vielen Parametern ausgehen kann. 4 2 Copyright CHAOSultd V5.0 (c) 1992 by TMMW Th. Morus Walter! Th. Morus Walter Schulstr. 22 W-8401 Pentling Tel. 0941 949802 Dieses Programm ist Public Domain! Das Programm darf frei kopiert und weitergegeben werden, wobei aber alle in Abschnitt 3.2 genannten Dateien kopiert werden mssen. Komerzielle Nutzung ist ausgeschlossen, mit Ausnahme der fr den Vertrieb von PD- Disketten blichen Kopiergebren. Hinweis Die Benutzung des Programmes geschieht auf eigene Gefahr. Der Autor garantiert weder fr irgendwelche Sch„den (am Rechner oder auch am Benutzer) noch fr die korrekte Funk- tionsweise des Programmes. Insbesondere wird nicht garantiert, dass den erzeugten Bildern auch wirklich die beschriebenen Algorithmen zugrundeliegen, auch wenn ich natrlich davon ausgehe. noch ein Hinweis Nie wieder Krieg! Nie wieder Faschismus! 3 Installation 3.1 ben”tigte Hardware CHAOSultd V5.0 sollte auf jedem Atari ST mit mindestens 1 MByte laufen (je mehr Speicher desto besser)1. Das Programm greift direkt auf den Bildschirmspeicher zu und l„uft deshalb nur in den Stan- dartaufl”sungen, dabei ist CHS_ULTD.PRG im Monochrombetrieb und CHS_ULTC.PRG in der mittleren Aufl”sung zu verwenden (die Farbversion CHS_ULTC schaltet dann aller- dings zur Anzeige von Bildern in die geringe Aufl”sung). Grafikkarten irgendwelcher Art werden nicht untersttzt. Die Lauff„higkeit auf einem TT ist mir unbekannt (wenn mir einer einen TT schenkt, dann teste ich das ganze gerne), zumindest die Monochrom-Version sollte laufen (in der entsprechenden Aufl”sung). CHAOSultd V5.0 untersttzt beliebige Massenspeicher (ohne Festplatte dauert das Spei- chern natrlich l„nger) und 24-Nadel-Matrixdrucker. Andere Druckertypen werden (stark) eingeschr„nkt untersttzt. ____________________________________1 theoretisch l„uft das Programm auch mit 512 kByte, sinnvoller Betrieb ist so aber kaum m”* *glich 5 3.2 Lieferumfang CHAOSultd umfasst die folgenden Dateien und Ordner: CHS_ULTD.PRG das Programm fr die hohe Aufl”sung CHS_ULTC.PRG das Programm fr die mittlere/geringe Aufl”sung READ_ME.TXT CHS_ULTD\ CHS_ULTD.RSC die Resourcedatei fr die hohe Aufl”sung CHS_ULTD.SET die Einstellungen fr die hohe Aufl”sung CHS_ULTC.RSC die Resourcedatei fr die mittlere Aufl”sung CHS_ULTC.SET die Einstellungen fr die mittlere Aufl”sung FEIGBAUM.XCH die (externen) Routinen fr Feigenbaum-Diagramme (nur hohe Aufl”sung) FEIGBAUM.RSC deren Resource-Datei ANLEITNG\ CHS_ULTD.DVI die Anleitung im TEX Format CHS_ULTD.TXT und als ASCII-Text CHS_EXT.DVI die Programmieranleitung der Schnittstelle im TEX Format CHS_EXT.TXT und als ASCII-Text CHS_ULTD.TOS die Anleitungen als Postscript-Datei (selbstentpackendes Archiv) BEISPIEL\ Ordner mit Beispielen (unberechnet) SOURCEN\ FEIGBAUM.C der Quelltext der Feigenbaum-Routinen FEIGBAUM.RSC Resource-Datei FEIGBAUM.DFN Definitions-Datei der Resourcen FEIGBAUM.H Header-Datei zu den Resourcen XCOMMON.H Header-Datei fr die externen Routinen GEM.H Header-Datei mit GEM-Macros 3.3 Installation Installieren im eigentlichen Sinne braucht man CHAOSultd nicht. Man kopiert einfach die Programm-Dateien CHS_ULTD.PRG, CHS_ULTC.PRG, sowie die Dateien im Ordner CHS_UTLD auf eine Diskette bzw. in irgendeinen Ordner auf der Festplatte. M”chte man ausschliesslich die sw-Version oder ausschliesslich die Farb-Version verwenden, so kann man sich natrlich auf die entsprechenden Dateien beschr„nken. Wesentlich bei der Installation ist nur, dass sich die Resource-Dateien, die Parameterdateien (*.SET) und alle externen Berechnungsroutinen (bisher nur FEIGBAUM.XCH) relativ zu den Programmdateien in einem Ordner CHS_ULTD befinden, da das Programm sie sonst nicht findet. 6 4 Danksagung CHAOSultd V5.0 wurde im wesentlichen mit Hilfe folgender Programme entwickelt: o Pure C 1.0, PureDebugger o Devpac Assembler o Interface Resource Construction Set o Tempus Editor o Gemini (als Grundlage fr alles andere) o Lindner-TEX (fr diese Anleitung) besonderen Dank an o Michael G. fr die Fliesskommaroutinen der freidef. Fractale und einige gefundene Fehler 5 zur Geschichte von CHAOSultd V5.0 Vorbemerkung: einige der folgenden Abschnitte sind sicher nur von begrenzten allgemeinem Interesse. Ich nehme mir aber die Freiheit sie trotzdem zu schreiben. Zumindest den Abschnitt 5.2 sollte man auch lesen. 5.1 Vorgeschichte o CHAOSultd V5.0 ist der Nachfolger von FRACTAL 4.30 o FRACTAL 4.30 ist eine erweiterte Version von FRACTAL 4.10 o FRACTAL 4.10 ist der Nachfolger von FRACTALS 3.00 o FRACTALS 3.00 ist eine erweiterte Version von FRACTALS 2.20 o FRACTALS 2.20 ist der Nachfolger von APFELMŽNNCHEN 1.10 o APFELMŽNNCHEN 1.10 ist der Nachfolger von APFELMŽNNCHEN 1.00 o APFELMŽNNCHEN 1.00 ist das erste Apfelm„nnchenprogramm das ich fr den ST geschrieben habe. Das Programm entstand im Herbst 1986, es hatte keine GEM- Umgebung aber GEM-Dialogboxen, die ich damals (in Ermangelung eines Resource- Construction-Sets) von Hand erstellt haben. Die Berechnung erfolgte in C und war „tzend langsam. 7 o APFELMŽNNCHEN 1.10 vom 13.1.87 erhielt dann eine GEM-Oberfl„che mit Men und Fenstern. o Der n„chste Schritt bestand in der Ersetzung der C-Routinen zur Berechnung durch schnelle Assembler-Routinen sowie in der Farbanpassung; ausserdem wurden pseudo- dreidimensionale Fractale erm”glicht. Das Ergebnis war (mit verschollenen Zwischen- schritten) FRACTALS 2.20 vom 8.2.88 o Fr FRACTALS 3.00 vom 30.4.88 wurde die Berechnungsroutine und die anzugeben- den Parameter verallgemeinert, um auch Julia-Mengen berechnen zu k”nnen. o Der n„chste grosse Schritt war dann FRACTAL 4.10 vom 25.8.90. Die Fenster zur An- zeige von Bildern wurden aufgegeben, das Programm kann dafr auf einem eigenen Desktop bis zu 88 Bildern verwalten. Zus„tzlich wurde zur Erzeugung von Pickover- Mengen ein Formelcompiler eingebaut, so dass man Fractale mit frei definierter Be- rechnungsformel erzeugt werden k”nnen. o Als n„chster Schritt wurde fr FRACTAL 4.30 vom 25.3.92 der Desktop sowie die Bild- und Speicherverwaltung fr die Verwaltung von bis zu 9999 Bildern (soweit der Speicher dafr reicht) umgeschrieben Soweit die Vorg„nger von CHAOSultd V5.0 . Die Beschreibung der Features der einzelnen Programme ist natrlich rudiment„r und soll lediglich den generellen Gang der Entwicklung bis hin zu CHAOSultd V5.0 beschreiben. Wie man sieht habe ich die Nummerierung der Versionen unabh„ngig von den variierenden Namen durchgezogen. Ein neuer Name wurde im Prinzip immer dann eingefhrt, wenn sich die n„chste "Version" wesentlich vom Vorg„nger unterschied. 5.2 CHAOSultd V5.0 Wer FRACTAL 4.30 kennt und jetzt CHAOSultd V5.0 ausprobiert, wird sich vermut- lich fragen, was denn in CHAOSultd V5.0 so neu ist, dass ich auch hier einen neuen Na- men gew„hlt habe. Die Unterschiede sind nach aussen und auf den ersten Blick in der Tat nicht sonderlich gross - mal abgesehen von den neuen Berechnungsroutinen fr Hpfer- und Feigenbaum-Diagramme. Der wesentliche Unterschied liegt im Inneren von CHAOSultd. In FRACTAL 4.30 waren die Routinen zur Parametereingabe, zur Berechnung und zur Anzeige von Bildparametern und Daten integraler Bestandteil des Programmes. Das Programm war als solche Einheit nur schwer durch neue Berechnugsroutinen zu erweitern, da ich dafr das Programm jedesmal komplett h„tte umschreiben mssen. CHAOSultd zerf„llt nun in zwei Bereiche: den Verwaltungsteil und die Berechnungsroutinen. Der Verwaltungsteil enth„lt alle Routinen zur Verwaltung der Bilder, zum Laden und Spei- chern, fr Filme zum Anzeigen usw. Die Bildparameter werden zwar mitverwaltet, dieser Teil des Programmes kennt aber nur ihre L„nge und kmmert sich nicht darum, was in den Bildparametern drinsteht. Zu den Berechnugsroutinen geh”rt neben der eigentlichen Bild-Berechnung die Eingabe und Anzeige von Bildparametern etc. Die beiden Bereiche sind weitgehend getrennt, der Verwaltungsteil kennt von den Berech- nungsroutinen lediglich eine Daten-Struktur, in der einige Angaben wie Parameterl„nge 8 etc. festgelegt werden und in der die Adressen der verschiedenen Routinen stehen, ber die sie der Verwaltungsteil, der ja auch die ganze Programmsteuerung ber Men, Tasta- tur und Desktop bernimmt, dann aufruft. Die Anzahl m”glicher Berechnungsroutinen ist dabei variabel. Das ganze hat zweierlei Auswirkungen: zum einen kann ich als Autor neue Berechnungsroutinen ohne Žnderungen am Verwaltungs- programm aufnehmen, zum anderen erm”glicht diese Aufteilung eine Schnittstelle zu externen (von CHAOSultd nachgeladenen) Programmen, die dann ihrerseits zus„tzliche Berechnungsroutinen und da- mit Bildtypen zur Verfgung stellen k”nnen. Fr den Benutzer von CHAOSultd gibt es dabei keinen Unterschied zwischen internen (also von mir fest in das Programm eingebau- ten) und externen Routinen. Externe Berechnungsroutinen k”nnen im Prinzip von jedem Programmierer realisiert werden. Zu den Details der Schnittstelle siehe Teil VI dieser Anleitung. 5.3 Žnderungen gegenber FRACTAL 4.30 Neben einer Reihe eliminierter Fehler (vgl. 6.1) wurden - abgesehen von den immensen internen Žnderungen und den neuen Routinen zur Berechnung von Bildern mit dem Hpfer- und Feigenbaum-Algorithmus - einige Details ge„ndert: o CHAOSultd besitzt ein neues Dateiformat; ich hoffe es ist mir gelungen dieses so allgemein zu definieren, dass es fr die Zukunft bestand hat. Bilder in FRACTAL- Formaten k”nnen weiter geladen werden - mit Ausnahme von nicht fertig berechneten 3d-Bildern. o das Speicher-Info (via Klick auf die Info-Leiste) ist umfangreicher und informativer geworden o die Einstellung der maximale Tiefe, die bei Punktinfos von Fractalen verwendet wer- den soll, ist der neuen Struktur zum Opfer gefallen. Statt dessen wird jetzt die maxi- male Tiefe des Bildes verwendet. o Die Mens haben sich ge„ndert, die (scheinbar) weggefallenen Menpunkte fr das Voreinstellen der Parameter erreicht man durch SHIFT-Klick auf die Menpunkte im Neu-Men. o fr den Desktop sind einige neue Tastaturkommandos dazugekommen (vgl. I.1.3) Die Liste ist vermutlich nicht vollst„ndig, ich habe mal wieder nicht Buch gefhrt, was ich alles gemacht habe. 5.4 Ausblick CHAOSultd ist entstanden, weil ich gewissermassen den Ehrgeiz habe, das ultimative Fractal- Programm fr den ST zu schreiben. Ich glaube nicht, dass ich das irgendwann schaffe, aber ich denke doch, dass CHAOSultd V5.0 einen Schritt in diese Richtung darstellt. 9 Wesentliche Einschr„nkungen in CHAOSultd V5.0 sind allerdings die fest vorgegebenen Bildgr”ssen und vor allem die Beschr„nkung auf ST-Standartaufl”sungen. Auch fr knf- tiges Multitasking unter GEM ist CHAOSultd V5.0 durch den direkten Zugriff auf den Bildschirmspeicher natrlich nicht zu gebrauchen. Deshalb habe ich schon wieder gewisse Vorstellungen ber einen Nachfolger fr CHAOS- ultd V5.0 , der dann wohl CHAOSultd V6.x heissen wird und dann wieder voll in GEM eingebunden sein soll. Eine solche GEM-Einbindung hat allerdings, das muss man ganz klar sehen, auch ettliche Nachteile, insbesondere was die Anzeigegeschwindigkeit angeht. Auch ein Mischbetrieb Mi- dRez/LowRez wie in der jetztigen Farbversion w„re nicht mehr m”glich; da das Programm sicher nicht vollst„ndig in LowRez laufen wird w„re auf einem Standart-ST nur noch Mo- nochrom oder Vier-Farb-Betrieb m”glich. Deshalb wird CHAOSultd V6.x die jetztige Version 5.0 sicher nicht abl”sen, sondern neben deren Farb- und Monochrom-Version als Gem-Version koexistieren. Ob berhaupt und wenn, wann und wie es CHAOSultd V6.x geben wird ist aber in keiner Weise vorhersagbar! Ich werde deshalb auch keinerlei Anfragen nach CHAOSultd V6.x beantworten! 6 Fehler "Programme laufen nicht" lautet bekanntlich eine m”gliche Formulierung von Murphy's Gesetz fr Programmierer. Nun am Ende der Programm-Entwicklung hat man es meist geschafft, diesen Satz im kon- kreten Einzelfall zu widerlegen (oder man hat kein Programm und braucht keine Anleitung zu schreiben) - jedenfalls mehr oder weniger. So ist es auch hier. Andererseits gibt es eine weitere, schw„chere Folgerung aus Murphy's Gesetz die besagt, dass jedes nicht-triviale Programm mindestens einen Fehler enth„lt. Mit an Sicherheit grenzender Wahrscheinlichkeit trifft dies auch hier zu. Fr CHAOSultd V5.0 ergibt sich aus der langen Liste seiner Vorfahren ein weiteres Risko. Ich habe das Programm wie beschrieben mehrfach umgeschrieben, und dabei natrlich nicht jedesmal das ganze Programm neugeschrieben, sondern den vorhandenen Quelltext verwen- det. Einerseits kann man auf diese Weise natrlich Fehler frherer Versionen eliminieren2, was (siehe n„chsten Abschnitt) durchaus auch passiert. Andererseits kann bei der Anpas- sung eines vorhanden Quelltextes besonders viel schiefgehen, womit wir bei Murphy's Gesetz im Original w„ren: wo viel schiefgehen kann, geht auch viel schief. Bevor Sie jetzt entsetzt das Programm wegwerfen, sollten Sie sich berlegen, dass Sie das dann konsequenterweise mit allen anderen Programmen (einschliesslich des Betriebssystems) auch tun mssten. Ich habe CHAOSultd V5.0 soweit m”glich getestet und es l„uft. Das Programm ist soweit m”glich fehlertolerant, sollte also auch bei Fehlbedienung nicht gleich schlappmachen3. ____________________________________2 wobei man allerdings mit der zu obigem Gesetz geh”renden Feststellung leben muss, dass das* * Entfernen eines Fehlers mindestens einen neuen Fehler nach sich zieht 3allerdings ist es bei Parametern von Berechnungsroutinen teilweise m”glich ist, unsinnige * *Angaben zu machen, die nicht von der Eingaberoutine zurckgewiesen werden, dadurch aber auch nicht sinnvo* *ll werden 10 6.1 eliminierte Fehler Einige Fehler die sich noch in FRACTAL 4.3 befinden wurden von mir entdeckt und konnten in CHAOSultd V5.0 beseitigt werden (mit Ausnahme des ersten Fehlers sind sie ziemlich harmlos): o verwendet man in der Abbruchbedingung (oder beim Punkte-Setzen) freier Fractale die Verknpfung 'xor', so strzt FRACTAL 4.3 gnadenlos ab o die Routine zum Speichern von GEM-Image-Dateien versagte, wenn man Bilder mit mehr als 255 gleichen Zeilen speicherte. Bei Fraktalen mit wenig berechneten Zeilen kann dies durchaus passieren, allerdings speichert man die gew”hnlich nicht als GEM- Image. o kam es beim Laden von GEM-Image-Dateien zu Tos-Fehlern, so wurde dennoch ein Objekt erzeugt. o liess man sich in der Farb-Version die Fraktal-Parameter anzeigen und rief dann von den Parametern aus die Farb-Einstellung auf, so wurde nach Verlassen der Parameter- Dialogbox nicht mehr das Bild angezeigt, sondern die Farb-Einstellung, allerdings ohne Rasterzeilen-Interupt. Liess man das n„chste Bild anzeigen, so war wieder alles in Ordnung. o rief man beim Anzeigen von Bildern bei eingeschalteter Farbanimation die Farb- Einstellung auf, so wurde die Animation nicht abgeschaltet. Da andererseits wegen des Rasterzeilen-Interupts zweimal pro Bildschirmfrequenz die Farbtabelle gesetzt wird, fhrte dies zu einem etwas l„stigen Flackern. o l„dt man einen Film mit relativen Pfadangaben, so wurden Bilder die bereits im Speicher stehen nicht erkannt sondern nochmal geladen 6.2 bekannte Fehler CHAOSultd V5.0 enth„lt gegenw„rtig einen bekannten Fehler:4 Berechnet man freie Fractale und verwendet in der Abbruchbedingung die 'xor'- Verknpfung (nein, Abstrzen tut CHAOSultd V5.0 nicht mehr dabei), so erh„lt man (total) unterschiedliche Ergebnisse, je nachdem ob man mit der schnellen oder der exakten Berechnung arbeitet. This is not a feature, this is a bug! Das Ganze hat vermutlich folgenden Hintergrund: die Routinen zur Berechnung freier Frac- tale ignorieren Fliesskommafehler jeglicher Art, insbesondere auch šberl„ufe5. Verwendet man nun die 'xor'-Verknpfung, so wird die Berechnung nicht abgebrochen, falls beide Bedingungen erfllt sind6, so dass es leicht zu einem šberlauf kommen kann (das kann ____________________________________4 der Satz ist natrlich falsch formuliert; korrekt msste man sagen: von den Fehlern die CHAOSultd V5.0 enth„lt ist gegenw„rtig einer bekannt 5als ich die Routinen geschrieben habe, bin ich davon ausgegangen, dass keine Fliesskommafeh* *ler auftreten; eine aufwendige Behandlung der Fliesskommafehler schien also berflssig und wrde nur Zeit * *kosten (beim Entwickeln der Routine wie beim Berechnen der Bilder); sie jetzt einzufgen ist mir im Moment * *zu viel Arbeit 6wenn man an dieser Stelle ber den Sinn der Abbruchbedingung nachdenkt wird einem natrli* *ch klar, dass 'xor' hier a priori nicht besonders sinnvoll ist, aber der Vollst„ndigkeit geh”rt es hal* *t auch dazu 11 man sich im Debugger auch anschauen). Anscheinend reagieren die beiden verschiedenen Fliesskomma-Routinen nun bei und nach dem šberlauf anders, so dass sich verschiedene Resultate ergeben. Dabei ist das Ergebnis der schnellen Berechnungsroutine dasjenige, das (logischen šberlegungen folgend, d.h. vielleicht) richtiger ist - richtiger insofern, als hier trotz der Fliesskomma-šberl„ufe die Punkte als unendlich tief erscheinen. 6.3 unbekannte Fehler gibt es nach obigen allgemeinen šberlegungen sicherlich jede Menge. Ich hoffe, es treten wenigstens keine schwerwiegenden Fehler mehr auf. Kommt es bei der Benutzung von CHAOSultd zu irgendwelchen kritischen Situationen so empfehle ich die Bemerkung in der rechten oberen Bildschirmecke zu beherzigen. Sie wurde extra zu diesem Zweck dort installiert7. Sollten Sie einen Fehler finden, so drfen Sie ihn zun„chst einmal behalten. Sollte der Fehler reproduzierbar sein, so w„re ich darberhinaus fr eine ausfhrliche Be- schreibung des Fehlers und seiner Erzeugung dankbar (behalten drfen Sie ihn natrlich trotzdem erst mal). 6.4 Fehler in der Anleitung Die Anleitung soll das Programm beschreiben. Tut sie das an irgendeiner Stelle nicht, so irrt die Anleitung und nicht das Programm8. Fr Druk-Feeler in Anleitung gilt die Devise: This is not a bug, this is a feature. Druckfehler in der Anleitung dienen der Auflockerung des Textes und sollen insbesondere denen, die sonst nichts verstehen, Gelegenheit zu Erfolgserlebnissen geben, wenn sie welche finden. 7 zu dieser Anleitung Real programmers don't read manuals heisst es, und ich mache das h„ufig genauso. Dennoch m”chte ich an dieser Stelle jedem die Lektre der Anleitung (auch wenn sie sehr lang geworden ist) nahelegen. Man sollte sie wenigstens mal berflogen haben, da das Pro- gramm zwar mehr oder weniger konsequent in GEM eingebunden ist, viele der M”glichkeiten und Details des Programmes aber nicht sofort ersichtlich sind. Die Anleitung ist - entsprechend der Modularit„t des Programmes - in mehrere Abschnitte aufgeteilt. Im ersten Abschnitt wird lediglich die allgemeine Benutzung des Verwaltungstei- les, im wesentlichen ohne konkreten Bezug auf irgendwelche Berechnungsroutinen, beschrie- ben. Die Beschreibung der Berechnungsroutinen fr Fraktale, Hpfer und Feigenbaumdia- gramme folgt dann in den weiteren Abschnitten. Bei der Beschreibung von CHAOSultd V5.0 gehe ich im folgenden in etwa in der Reihenfolge vor, wie man sie auch bei der Benutzung des Programmes gebraucht. Da keine konkreten Bilderzeugungsroutinen beschrieben werden, sollte man eventuell parallel entsprechende ____________________________________7 darberhinaus soll diese Bemerkung natrlich zur Verbreitung von CHAOSultd beitragen, D. * *Adams zufolge ist sie dazu bestens geeignet 8an sich w„re es ja umgekehrt auch ganz nett, aber das Risiko ist mir zu gross, die Anleitu* *ng anzupassen ist in jedem Fall das kleinere šbel 12 Abschnitte der folgenden Teile lesen, wobei die Fractal-Routinen wohl am ausfhrlichsten beschrieben sind. Bei den anderen Routinen wird ihre Kenntnis teilweise vorausgesetzt. Auch ist es natrlich sinnvoll, die diversen M”glichkeiten gleich auszuprobieren; m”glicher- weise wird erst an Hand des Programmes selbst, klar, wie die eine oder andere Bemerkung in der Anleitung gemeint ist (sorry, aber noch ausfhrlicher kann ich das Programm wirklich nicht beschreiben). Wird in der Anleitung auf Meneintr„ge oder Texte von Button verwiesen, so sind diese in Sans Serif gesetzt. Tasten erscheinen in Typewriter. (Leser der ASCII-Version dieser Anleitung haben davon leider garnichts.) Der letzte Teil dieser Anleitung beschreibt die Schnittstelle fr externe Routinen. Da er so- mit nur fr einen kleinen Teil der Anwender von CHAOSultd von Interesse ist (und doch etli- che Seiten umfasst) ist er in eine eigene Datei ausgelagert. Er erscheint allerdings vollst„nd* *ig im Inhaltsverzeichnis. Die zugrundeliegenden Algorithmen und die sich daraus ergebenden Formen werden nur ansatzweise beschrieben. Ich m”chte deshalb hier auf die einschl„gige Literatur verweisen: die meisten Anregungen habe ich den Sonderheften Computerkurzweil I-IV der Zeitschrift Spektrum der Wissenschaft entnommen. Sie sind zwar soweit ich weiss einzeln nicht mehr erh„ltlich, dafr gemeinsam in Buchform. Dort finden sich auch weitere Literaturangaben. In einem Artikel in der ST-Computer (11/91) ber Iterierte Funktionensysteme (eine Imple- mentation fr CHAOSultd ist in Arbeit wird aber noch etwas dauern) wird unter anderem noch auf die folgenden beiden Werke verwiesen: H.-O. Pleitgen, D. Saupe (Hrsg), The Science of Fractal Images, Springer Verlag 1988 Benoit B. Mandelbrot, Die fractale Geometrie der Natur, Birkh„user 1987 13 Teil I CHAOSultd Das mit Abstand wichtigste an CHAOSultd ist die Bemerkung in der rechten oberen Bildschirm-Ecke. Man sollte sich beim Umgang mit diesem (und jedem anderen) Programm stets daran halten. 1 Verwaltung von Bildern - der Desktop Zur Verwaltung von Bildern dient der Desktop von CHAOSultd. Er besteht aus der Infolei- ste, vier Button zum Scrollen der Objekt-Icon und den Objekt-Icon selber. 1.1 Objekte M”gliche Objekte sind 1. Fraktale Unter Fraktalen verstehe ich alle Bilder, die durch irgendwelche Berechnugsroutinen in CHAOSultd erzeugt werden. Insofern ist die Bezeichnung Fraktale natrlich nicht ganz richtig, da solche Bilder nicht notwendig fraktal sein mssen9. Fraktale k”nnen drei verschiedene Bildgr”ssen haben: grosse Bilder haben Bildschirm- gr”sse, mittlere Bilder sind etwa halb so gross (in der Fl„che) und kleine Bilder ent- sprechen einem Viertel-Bildschirm. 2. Bilder gemeint sind parameterlose Bilder, die entweder geladen oder nach Bildvergleich (siehe 3.3) erzeugt wurden Bilder haben stets Bildschirmgr”sse Bilder ohne Parameter sind haupts„chlich der Vollst„ndigkeit halber integriert (etwa um sie in Filme als Titel aufnehmen zu k”nnen), sie spielen im folgenden kaum eine Rolle 3. Filme (siehe 4) 1.2 Objekt-Icon Jedes im Speicher vorhandene Objekt wird auf dem Desktop durch ein Icon repr„sentiert. Die verschiedenen Objekte werden durch verschiedene Icon dargestellt, verschiedene Fraktal- Typen besitzen ebenfalls verschiedene Icon. Neben dem Objekt-Typ kann man an den Icon noch eine Reihe weiterer Informationen ber die von ihnen repr„sentierten Objekte ablesen: ____________________________________9 Bisweilen ist in dieser Anleitung auch von Fractalen die Rede, gemeint sind dann speziell B* *ilder, die mit den eingebauten Routinen unter den Menpunkten Fractal(e), freie Fract. und 3d Fractal(e) erze* *ugt wurden. 14 o noch nicht fertig berechnete Fraktale werden ohne Rahmen dargestellt, fertige Objekte mit (Bilder und Filme sind in diesem Sinne immer fertig, auch wenn dies bei Filmen nicht unbedingt logisch ist). o die Bildgr”sse von Fraktalen wird durch einen Buchstaben ('K', 'M' und 'G') angezeigt o gespeicherte Objekte werden mit einem Haken markiert, neue oder ge„nderte Objekte haben keinen Haken 1.3 Selektieren von Objekten Zum Selektieren (und Deselektieren) von Objekten stellt CHAOSultd eine Reihe von M”glichkeiten zur Verfgung: o einfaches Anklicken eines Objektes „ndert den Auswahlzustand (nicht selektierte Ob- jekte werden selektiert, selektierte deselektiert) o Doppelklick deselektiert alle Objekte; fhrt man den Doppelklick auf ein Objekt aus, so wird dieses anschliessend selektiert (auf diese Weise kann man also genau ein Objekt selektieren) o um mehrere, aufeinanderfolgende Objekte zu selektieren kann man das erste und das letzte Objekt der Folge mit gedrckter SHIFT-Taste anklicken (die Reihenfolge ist dabei egal) o ein SHIFT-Klick auf einen Film fhrt zum Selektieren des Filmes und aller in ihm vorkommenden Bilder Neben den Mauskommandos hat man noch eine Reihe von Tastaturkommandos zum Selek- tieren von Bilder: Mit den Tasten F1 bis F8 selektiert man eine Zeile (1 bis 8); w„hlt man dabei eine Zeile, die kein Objekt enth„lt, so wird die letzte nichtleerer Zeile eingestellt. Mit den Tasten 1 - 9, 0 und ss kann man dann die einzelnen Objekte dieser Zeile ansprechen, mit TAB die ganze Zeile; ESC wirkt auf alle Objekte (unabh„ngig der eingestellten Zeile). Die Taste BACKSPACE bezieht sich auf alle ge„nderten, aber nicht gespeicherten Objekte, DEL auf alle fertigen Bilder, ~ auf alle nicht fertigen. Die Tasten . und - beziehen sich auf jedes zweite bzw. vierte Objekt10 Dabei wird das Objekt bzw. die Objekte bei normalem Tastendruck selektiert, mit SHIFT- Taste deselektiert, mit CONTROL ge„ndert und mit ALT als einziges Objekt selektiert. Die Tastaturbefehle fr das Desktop sind auch in einer Dialogbox zusammengefasst, die man durch Drcken der HELP-Taste aufrufen kann. 1.4 Scrollen Werden mehr als 88 Objekte erzeugt, so passen sie nicht mehr auf den Bildschirm. Man kann dann mit den Scrollbutton '<', '<<', '>' und '>>' das erste anzuzeigende Objekt bestimmen. ____________________________________10 damit kann man beispielsweise Bildfolgen teilweise berechnen lassen und so schon mal die Wi* *rkung beurteilen 15 Dabei scrollt '<' und '>' je eine Zeile nach oben bzw. unten, '<<' und '>>' eine Seite; ein Doppelklick auf '<' bzw. '<<' oder '>' bzw. '>>' scrollt zur ersten oder letzten Zeile. Kann in eine der Richtungen nicht gescrollt werden, so sind die Button inaktiv und werden auch so dargestellt. Man kann die Icons auch via Tastatur verschieben. Dazu dienen die Tasten Cursor up und Cursor down, die ohne Sondertaste um eine Zeile, bei gleichzeitig gedrckter SHIFT-Taste um eine Seite verschieben, sowie bei gleichzeitig gedrckter CONTROL-Taste an den Anfang bzw. das Ende der Icons. Selektierte Objekte bleiben selektiert, auch wenn sie nicht mehr sichtbar sind. Es ist nicht m”glich einzelne, nicht sichtbare Objekte zu selektieren oder deselektieren. 1.5 Infoleiste In der Infoleiste werden einige mehr oder weniger interessante globale Informationen ange- zeigt: o die Anzahl der Objekte im Speicher o ihre Gesamt-L„nge in Byte o die Anzahl der selektierten Objekte o der freie Speicher in Byte und in Prozent des Gesamt-Speichers o die Nummer des ersten angezeigten Objektes 1.6 Speicher-Info Klickt man die Infoleiste an, so erscheint eine Dialogbox mit Detailinformationen zur Speicherbelegung. In der ersten Zeile wird der Gesammtspeicher (fr Objekte und Bilder) angezeigt. Es folgen Informationen ber den belegten Speicher: zun„chst dessen Gr”sse in Byte und Prozent, sodann die Verteilung auf Objekt-Daten, Fraktal-Parameter, zus„tzliche Fraktal- Parameter11 und Bilddaten. Angegeben werden zu jedem dieser Bereiche vier Werte (alle in Byte). Der erste Wert bezieht sich auf alle Objekte, der zweite auf die selektierten Objekte. Die beiden Werte in Klammern geben zus„tzlich den durchschnittlichen Speicher pro Objekt (bzw. pro selektiertem Objekt) an. Unter diesen vier Bereichen wird die Summe des belegten Speichers angegeben. Sollte die Summe fr alle Objekte jemals von dem (oben angegebenen) Wert des belegten Speichers abweichen, so ist irgendwas in der Speicherverwaltung schief gegangen. Ich kann nur hoffen, dass das nie passiert. Sollte es doch vorkommen, so empfielt es sich, alle Bilder zu speichern und das Programm neu zu starten.12 Als n„chstes wird in der Dialogbox der freie Speicher angezeigt, wie der belegte Speicher in Byte und Prozent. ____________________________________11 CHAOSultd verwaltet fr jedes Objekt zun„chst mal Parameter, deren L„nge nur vom Objekt-* *Typ abh„ngt; dies sind bei Fraktalen die Fraktal-Parameter. Sollen zus„tzlich irgendwelche Inform* *ationen zu einem Objekt gespeichert werden, die variable L„nge besitzen, so k”nnen diese als zus„tzlich* *e Parameter verwaltet werden 12es kann auch sein, dass eine externe Routine dauerhaft Speicher belegt hat, das geht zwar, * *sollten externe Routinen aber nicht machen; in diesem Fall ist natrlich unter Umst„nden noch alles in Ordnung 16 Unter dieser Angabe findet sich noch eine Absch„tzung, fr wieviele Bilder dieser Speicher reicht. Diese h„ngt natrlich davon ab, wieviel Speicher ein Bild ben”tigt, und dies h„ngt wieder von der Parameterl„nge, der Bildgr”sse und - falls die Bilder gepackt werden - dem Packverh„ltnis ab. CHAOSultd gibt deshalb eine Reihe verschiedener Werte an. Bei durchschnittliche Bilder wird der durchschnittliche Wert der bisher geladenen Objekte (alle/selektierte Objekte) verwen- det. Bei grosse, mittlere und kleine Bilder verwendet CHAOSultd den Durchschnittswert der Summe aus Objekt-, Parameter- und ext. Parameter-L„nge plus die L„nge der ungepackten Bilddaten. Ok verl„sst die Box ganz normal, mit dem Button GarbColl kann man eine Garbage-Collection erzwingen, also ein Sammeln unbelegter Speicherbl”cke. CHAOSultd fhrt ein Garbage- Collection ansonsten immer dann durch, wenn es n”tig ist, so dass diese Option an sich eher berflssig ist13. Die Durchfhrung einer Garbage-Collection dauert, je nach Speichergr”sse und Anzahl der Objekte ein paar Sekunden, sie wird nicht (wie etwa in Tempus) durch einen Dialog angezeigt; ist der Gong eingeschaltet (und der Lautst„rkeregler des Monitors nicht auf Null) so werden vor der Garbage-Collection drei Gongs ausgegeben. 1.7 Bilder Packen CHAOSultd ist beim Verwalten der Bilddaten recht sparsam: wurde ein Bild noch ber- haupt nicht berechnet, so werden auch keine Bilddaten verwaltet; bei teilweise berechneten Bildern, bei denen dies m”glich ist, wird nur fr den berechneten Bildteil Speicher belegt (Vorraussetzung ist, dass die Bilder wie normale Fractale rasterartig von oben nach un- ten berechnet werden). Darberhinaus kann CHAOSultd die Bilddaten packen (nach dem gleichen Algorithmus, der auch beim Speichern verwendet wird, vgl. V.1). Die Speicherplat- zersparnis h„ngt natrlich vom Bildinhalt ab, kann aber leicht 2/3 und mehr erreichen. Das Packen von Bildern fhrt allerdings auch dazu, dass die Bilder nicht mehr mit der gleichen Geschwindigkeit angezeigt werden k”nnen wie nicht gepackte Bilder. Ein- und ausschalten kann man dieses Packen durch den Menpunkt Bilder packen im Datei- Men. Klickt man ihn mit gedrckter SHIFT-Taste an, so wird zwischen Packen und Nicht-packen der neu anzulegenden Bilder (bestehende werden nicht ver„ndert) gewechselt. Sollen die neuen Bilder gepackt werden, so wird dies durch einen Haken im Menpunkt angezeigt. Klickt man den Menpunkt normal (also ohne SHIFT-Taste) an, so wird eine Dialogbox aufgerufen, in der erstens angezeigt wird, wieviele Bilder gepackt oder nicht gepackt sind, wie lang deren Bilddaten sind und wie lang die gepackten Bilder entpackt w„ren. Angegeben werden nur die Bilddaten, diese sind krzer als die Gesamtdaten des Objektes, da fr das Objekt ja auch noch Parameter verwaltet werden14. Ausserdem wird die sich daraus ergebende Packrate (die L„nge der gepackten Bilder bezogen auf die L„nge der ungepackten Daten in Prozent) sowie der freie Speicher angezeigt. Zweitens kann man in dieser Dialogbox zwischen packen und nicht-packen der neuen Bilder (wie mit SHIFT-Klick auf den Menpunkt) wechseln. ____________________________________13 ich brauche sie aber zum Testen ob die Speicherverwaltung nach einer Garbage-Collection kol* *labiert oder nicht 14dass sie auch krzer sind als bei Speicher-Info angegeben liegt daran, dass Speicher-Info * *die 8 Byte die fr die Speicherverwaltung gebraucht werden mitz„hlt, Packen nicht 17 Drittens erm”glicht diese Dialogbox das Packen oder Entpacken bereits bestehender Bilder. Dazu stellt man mit den Button in den beiden mit „ndern bezeichneten Zeilen ein, ob die Bilder ge- oder entpackt werden sollen, sowie ob sich die Operation auf alle oder nur auf die selektierten Bilder beziehen soll, und verl„sst dann die Dialogbox mit dem Button „ndern (dabei wird gleichzeitig die Einstellung fr neue Bilder bernommen). 1.8 Objekte l”schen M”chte man Objekte l”schen, so selektiert man diese und klickt anschliessend den Menpunkt Objekte l”schen im Datei-Men an. Nach einer eventuellen Warnung (vgl. Einstellungen, 6.1) werden die Objekte gel”scht. Es ist nicht m”glich, ein Bild, das in einem Film vorkommt zu l”schen, ohne auch den Film zu l”schen. Sollte man dies versuchen, so weist eine Dialogbox, in der der Name des betroffenen Filmes angezeigt wird, darauf hin, und man kann w„hlen, ob man das L”schen ganz abbrechen will, ob der Film mitgel”scht werden soll, oder ob man den Film erhalten will, im letzten Fall werden alle Bilder, die in dem Film vorkommen vom L”schen ausgenommen. 2 Bilder erzeugen 2.1 neue Bilder Zur Erzeugung neuer Bildern dienen die Menpunkte des Mens Neu. Dieses Men ist variabel, seine Eintr„ge und deren Zahl h„ngen von den zur Verfgung stehenden internen (zur Zeit vier) und externen Berechnungsroutinen ab. Klickt man einen Menpunkt (ohne gleichzeitig gedrckte SHIFT- oder CONTROL-Taste, vgl. 6.3) an, so kann man in einer Dialogbox die Parameter fr den gew„hlten Bildtyp eingeben. Anschliessend wird das oder die Bilder erzeugt. Erzeugt man Bildfolgen, so werden die Bild-Namen durch Anh„ngen einer Nummer (mit der n”tigen Anzahl von Stellen) erzeugt. Dabei kann der in den Paramtern angegebene Name unter Umst„nden gekrzt werden. Die Erzeugung von Bildern l„sst sich durch Drcken der ESC-Taste unterbrechen15. Werden mehrere Bilder (Bildfolgen) berechnet, so beendet ESC nur die gerade aktulle Berechnung. Drckt man zus„tzlich SHIFT, so wird die Berechnung auch fr alle folgenden Bilder ab- gebrochen, fr diese Bilder wird aber noch ein Bildobjekt erzeugt, so dass die Berechnung sp„ter erfolgen kann. Drckt man zus„tzlich zu ESC die ALTERNATE-Taste, so wird die Be- rechnung ganz abgebrochen und keine Bildobjekte mehr erzeugt. 2.2 Weiterberechnen von Bildern Bilder, die noch nicht fertig berechnet wurden, k”nnen durch Anklicken von Weiter bzw. Alles Weiter im Men Weiter weiterberechnet werden. Bei Weiter werden nur selektierte Bilder erfasst, bei Alles Weiter alle Bilder. Die Berechnung kann wie bei Neu abgebrochen werden. ____________________________________15 an dieser und vielen anderen Stellen wird immer vorrausgesetzt, dass sich der Programmierer* * der Be- rechnungsroutinen an die vorgesehenen Programmier-Richtlinien gehalten hat 18 Ist ein Algorithmus nicht in der Lage ein Bild nach Berechnungsabbruch weiterzuberechnen, so kann er bei Berechnungsabbruch das Bild fr fertig erkl„ren; Weiter l„sst sich in diesem Fall natrlich nicht mehr verwenden. 2.3 Vier Bilder Zu jedem selektierten Bild werden vier Bilder erzeugt, die aneinandergesetzt dem ursprng- lichen Bild mit doppelter Aufl”sung entsprechen16. Die Bilder k”nnen dann mit der Hard- copyroutine (in der sw-Version) aneinander-gedruckt werden (vgl. 5.3). 2.4 Neu berechnen Dieser Menpunkt dient dazu, Bilder mit teilweise ge„nderten Parametern neu zu berech- nen. Beispielsweise wenn man eine Serie von Apfelm„nnchen mit Graustufen berechnet hat, und sie jetzt Schwarz-Weiss haben m”chte. Nach Aufruf der Funktion muss man zun„chst angeben, ob die Bilder berschrieben werden oder ob neue Bilder angelegt werden sollen. Dann wird fr alle Bildtypen der selektierten Bilder, die die Funktion untersttzen17, eine Dialogbox angezeigt, in der die zu „ndernden Parameter und ihre neuen Werte eingeben werden k”nnen. Verl„sst man eine solche Dialog- box mit Abbruch, so werden die Bilder dieses Types nicht neu berechnet, die Funktion wird aber nicht insgesamt abgebrochen. Nach Eingabe der zu „ndernden Parameter werden die Bilder mit den ge„nderten Parame- tern (soweit n”tig) neu berechnet. Werden die Bilder neu erzeugt und nicht berschrieben, so wird der neue Name aus dem Alten durch Anh„ngen von __N (unter Verl„ngerung des Namens auf 8 Zeichen) gebildet, falls der alte Name krzer als 8 Zeichen ist. Ansonsten wird der letzte Buchstabe hochgez„hlt (also aus A wird B, aus B C usw.; Z wird zu 0 und 9 zu A). Damit sollte der Fall, dass sich der neue Name nicht vom Alten unterscheidet nicht mehr auftreten (bei Bildfolgen kann er natrlich mit dem Namen des n„chsten Bildes in der Folge bereinstimmen). Auch dass der neue Name unter anderen geladenen Objekten oder auf Diskette schon existiert, kann natrlich nicht ausgeschlossen werden. 3 Anzeigen 3.1 Bilder anzeigen Mit den Menpunkten Bilder anzeigen und alle Bilder im Men Zeigen kann man sich die selektierten bzw. alle vorhandenen Bilder anzeigen lassen. Anzeige-Modi und Optionen CHAOSultd besitzt im grossen und ganzen zwei Anzeigemodi: im einen wird nach jedem Bild auf einen Tastendruck gewartet, bevor das n„chste Bild angezeigt wird, im anderen wartet CHAOSultd eine bestimmte (natrlich einstellbare) Zeitspanne, und stellt dann das n„chste Bild dar. ____________________________________16 diese Routine ist wie viele andere, bei denen ich dies nicht mehr unbedingt angeben werde, * *optional, d.h. eine Berechnungsroutine muss diese M”glichkeit nicht zur Verfgung stellen 17m”glicherweise auch - wie bei Fractalen, s.u. - fr mehrere Bildtypen gemeinsam 19 Einstellen lassen sich diese Anzeigemodi zusammen mit weiteren Parametern unter dem Menpunkt Optionen. Dort kann man zun„chst den Anzeigemodus mit Warten auf Taste und Kontinuierlich ein- stellen. Darunter kann man die Wartezeiten fr ein Bild und am Ende der angezeigten Bilder einstellen, wobei man die Zeiten sowohl numerisch (in ms)18 wie auch mit Hilfe eines Sliders w„hlen kann (dabei dient das Anklicken des grauen Balkens nicht zum Verschieben des Sliders, sondern der Slider wird entsprechend des als Text angezeigten Wertes gesetzt). Anmerkung: zus„tzlich zu dieser Wartezeit kommt noch die Zeit die ben”tigt wird, um das n„chste Bild darzustellen. Bei ungepackten Bilder spielt sie kaum eine Rolle, bei gepackten schon, da das Entpacken eben l„nger dauert. Die Wartezeit selber kann aus technischen Grnden leider nicht zum Entpacken genutzt werden. Die Wartezeit muss mindestens auf 20 ms gesetzt werden, da es sonst zu Bildschirmflackern kommt, gibt man kleinere Zeiten an, so wird die Wartezeit automatisch auf diesen Wert gesetzt. Desweiteren kann man noch einstellen, ob die Bilder nur einmal oder wiederholt angezeigt werden sollen (nur dann findet die Wartezeit am Anzeigeende Verwendung), und ob im zweiten Fall dann wieder mit dem ersten Bild angefangen werden soll ('- > - >') oder ob die Bilder abwechselnd vor- und rckw„rts durchgegangen werden sollen ('- > < -'). Bilder anzeigen Auch w„rend des Anzeigens von Bildern gibt es eine Reihe von M”glichkeiten; diese werden alle ber die Tastatur aufgerufen. Allerdings arbeiten diese Tastaturkommandos mit zwei Ausnahmen nur im 'warte'-Modus. Deshalb (und das ist die erste Ausnahme) kann aus dem kontinuierlichem Anzeigen mit der SPACE-Taste in den 'warte'-Modus umgeschaltet werden. Ebenfalls mit der SPACE-Taste kommt man auch wieder zurck zum kontinuierlichem An- zeigen. Die zweite Ausnahme ist die ESC-Taste, mit ihr wird das Anzeigen beendet. Ansonsten stehen die folgenden Tastaturkommandos zur Verfgung: Mit der SPACE-Taste (im 'warte'-Modus) wird das n„chste Bild angezeigt (oder vgl. oben in den kontinuierlichen Modus zurckgeschaltet), die gleiche Wirkung haben die Tasten RETURN und ENTER - allerdings ohne dass hier zurckgeschaltet wird wenn man den kontinuierlichen Modus via SPACE unterbrochen hat. Mit der BACKSPACE-Taste kann man das vorige Bild anzeigen lassen. Die Taste O (es ist jeweils auch der entsprechende Kleinbuchstabe m”glich) ruft die Anzeige- Optionen auf, so dass man die Anzeigeparameter ver„ndern kann. Anmerkung: befindet man sich eigentlich im kontinuierlichem Modus, der dann auch in der Optionsbox eingestellt ist, oder stellt man diesen ein, so wird er nach dem Verlassen der Box sofort, und nicht erst nach Drcken der SPACE-Taste aktiviert. Mit der Taste F kann man die Farben des Bildes einstellen: o in der sw-Version wird einfach zwischen normal und invers gewechselt. Die Einstellung wird nicht in die Bildparameter bernommen, d.h. wenn man ein Bild weiterschaltet und dann zurck wird wieder die ursprngliche Farbeinstellung gesetzt. Um die Farbe auch in den Parametern umzuschalten kann man mit P die Bildparameter aufrufen und die Farbe dort „ndern (sofern die Berechnungsroutinen dies unterstzten). ____________________________________18 aus technischen Grnden nur in 5 ms Schritten, ist der Wert nicht durch 5 teilbar wird er * *abgerundet 20 o in der Farb-Version wird die Einstellung der Farben aufgefrufen; hier werden die Far- ben in die Bildparameter bernommen (Eigentlich nicht ganz konsistent, Farb- und sw-Version sollten sich natrlich soweit m”glich gleich verhalten, aber was solls). o In der Farb-Version hat man zus„tzlich die M”glichkeit mit den Tasten 1 - 0, ss und ' die zw”lf voreinstellbaren Farbtabellen aufzurufen. Diese werden nicht in die Parameter bernommen. Ebenfalls nur in der Farb-Version verfgbar ist die Farbanimation, die mit der Taste A aufgerufen wird. Dabei kann man die Richtung, die betroffenen Farben (kleinste und gr”sste Farbnummer) sowie die Geschwindigkeit angeben. Letztere wird durch die Anzahl der VBLs (50 oder 60 pro Sekunde) festgelegt, die zwischen zwei Animationsschritten gewartet werden soll. CHAOSultd wechselt dann zyklisch die Farben, bis die Animation beendet wird (durch er- neuten Aufruf und Verlassen der Dialogbox mit Ende oder Beenden des Bilder anzeigen). Die Animation wird unterbrochen, wenn eine Dialogbox oder eine Koordinatenanzeige auf- gerufen wird, sie wird anschliessend fortgesetzt. Mit der UNDO-Taste kann man ver„nderte, nicht in die Parameter bernommene Farbtabellen zurcksetzen. Die Verfgbarkeit der folgenden Optionen ist - wie ja fast alles in CHAOSultd - immer von den Berechnungsroutinen abh„ngig; das gleiche gilt, falls es sie gibt, fr die Details ihrer Realisierung. Mit der Taste P kann man sich die Bildparameter (vgl. 3.4) und mit I das Bildinfo (vgl. 3.5) anzeigen lassen. Mit der Taste S kann man sich eine Information ber einen bestimmten Punkt anzeigen lassen. Dazu klickt man mit der Maus den gewnschten Punkt an und es erscheint dann eine Dialogbox, in der Informationen zu diesem Punkt angezeigt werden. Mit der Taste C kann man sich die Koordinaten einer Konstanten der Bildparameter durch ein Fadenkreuz anzeigen lassen, natrlich nur wenn die Konstante im Bildausschnitt liegt. Was das fr eine Konstante ist h„ngt natrlich vom Bildtyp und den Berechnungsroutinen ab. Die Taste K schaltet eine Anzeige der Bildschirm- und Bildkoordinaten der aktuellen Maus- position links oben im Bild ein. Als weitere Tastaturfunktion kann man sich mit der Taste D oder H (D wie Drucker oder H wie Hardcopy) eine Hardcopy des angezeigten Bildes ausdrucken lassen. Einzelheiten siehe 5.3. Zu guter Letzt kann man sich mit der Taste HELP eine Kurzbersicht der Tastaturbefehle anzeigen lassen, damit man sich nicht alle Befehle merken muss. Dabei werden fr das momentan angezeigte Bild nicht untersttzte M”glichkeiten grau dargestellt. 3.2 Block zeigen Mit der Funktion Block zeigen kann man sich anzeigen lassen, welchen Ausschnitt eines Bildes ein anderes darstellt. Dabei gibt es allerdings einige Einschr„nkungen zu beachten: Block zeigen bezieht sich immer auf zwei Bilder. Dabei muss das eine Bild vollst„ndig im anderen enthalten sein, teilweise šberlappung wird nicht angezeigt. Ausserdem k”nnen nicht bei allen Bildtypen Bl”cke angezeigt werden, wie etwa bei 3d Fraktalen. 21 Stellt CHAOSultd nach Anklicken von Block zeigen fest, dass ein Bild im anderen enthalten ist, so zeigt es das 'Mutter'-Bild an und markiert den Ausschnitt, den das andere Bild dar- stellt, durch einen Rahmen. Andernfalls erscheint eine Dialogbox, die auf die Unm”glichkeit einen Block anzuzeigen hinweist. Anmerkung: Auch wenn ein Bild als Ausschnitt eines anderen angezeigt wird, muss es sich dabei nicht um eine Vergr”sserung des angezeigten Ausschnittes handlen, bei den beiden Bildern k”nnen ja andere Parameter unterschiedlich eingestellt sein, es k”nnen auch um ganz verschiedene Bildtypen sein. 3.3 Bildvergleich Die Funktion Bildvergleich dient vor allem dem exakten Test zweier (oder mehrerer Bilder) auf Gleichheit, ist jedoch allgemeiner gehalten. Mit dieser Funktion lassen sich mehrere Bilder logisch miteinander Verknpfen. Dabei hat man die Wahl zwischen or, and und xor (eXclusive OR). Die gewnschte Verknpfung kann in einer Dialogbox ausgew„hlt werden, die nach Anklicken von Bildvergleich zun„chst erscheint. Anschliessend wird das Resultat der entsprechenden Verknpfung aller selektierten Bilder angezeigt. Diese Anzeige kann man wie blich mit ESC verlassen, oder aber mit M, wobei dann das angezeigte Bild in ein Bildobjekt, also ohne Parameterdaten, bernommen wird. Wie kann man nun mit dieser Funktion zwei Bilder vergleichen? Ganz einfach: man w„hlt als Verknpfung xor, dann werden nur die Punkte gesetzt, in denen sich Bild 1 von Bild 2 unterscheidet. Dadurch kann man alle Unterschiede zwischen den Bildern sehr schnell erkennen, etwa um zu šberprfen, wieweit die schnelle von der genauen Berechnungsrou- tine abweicht oder welchen Einfluss eine geringfgige Žnderung eines Parameters auf das Gesammtbild hat. Anmerkung: In Farbe werden weiterhin die Bits des Bildschirmspeichers miteinander ver- knpft. Da hier die Farbe eines Punktes aber nicht von einem einzelnen Bit sondern von vieren bestimmt wird, ist das Ergebnis unter Umst„nden etwas verwirrend; es gilt aber immer noch: bei Verknpfung mit xor sind nur solche Punkte gesetzt, die sich in beiden Bildern unterscheiden (wobei die Farbtabelle aber keine Rolle spielt, als Farbtabelle wird die des ersten Bildes verwendet). 3.4 Parameter anzeigen Mit der Funktion Parameter anzeigen lassen sich die Parameter eines Fraktals, eines Bildes oder eines Filmes anzeigen. Diese Funktion l„sst sich nur aufrufen wenn genau ein Object selektiert ist. Welche Parameter bei Fraktalen angezeigt werden ist Sache der Berechnungsroutinen. Bei Bildern werden nur Bildname und Pfad sowie in der sw-Version die Darstellungsweise (normal oder invers), bei Filmen zus„tzlich zu Pfad und Namen die Anzahl der Bilder angezeigt. N„here Erl„uterungen zu den Datei- und Pfadnamen siehe bei den IO Funktionen (vgl. 5). 3.5 Bildinfo Um sich ber Berechnungszeiten, Berechnungsaufwand und Bildgr”ssen zu informieren ist die Funktion Bildinfo anzeigen gedacht (allerdings erst nach der Berechnung, vorher ist das im allgemeinen nicht m”glich). 22 Die Funktion bezieht sich prinzipiell nur auf Fraktale und nur auf selektierte Bilder. Ist genau ein Fraktal selektiert, so kann die Berechnungsroutine fr das Bild eine detaillierte Info-Box ausgeben, die dann natrlich von der Berechnugsroutine abh„ngt. Stellt die Berechnungsroutine eine solche Funktion nicht zur Verfgung untersttzt aber die Ausgabe von Bildinfos19 oder sind mehrere Bilder selektiert, so wird eine Info-Box angezeigt, in der die Anzahl der Bildpunkte, die Zahl der berechneten Iterationen20 sowie die ben”tigte Rechenzeit - insgesamt und pro Punkt bzw. Iteration - ausgegeben wird. 4 Filme Filme in CHAOSultd sind einfach eine Liste von Bildern. Sie k”nnen zum Beispiel zur Verknpfung mehrerer Bilderfolgen oder zum Festlegen der Reihenfolge, in der diverse Bilder angezeigt werden sollen, dienen. Filme k”nnen maximal 9999 Bilder enthalten, im Allgemeinen sollte das reichen. 4.1 Filme erzeugen Mit dem Menpunkt Film erzeugen im Men Weiter21 kann man neue Filme erzeugen, was allerdings nur m”glich ist, wenn wenigstens ein Bild vorhanden ist. Es erscheint zun„chst eine Dialogbox, in der der (nichtleere) Name des Films eingegeben werden muss. Anschliessend landet man im Filmeditor. Im oberen Teil des Bildschirms wird das aktuelle Bild angezeigt, unten befinden sich eine Infozeile und zwei Zeilen mit Kommandobutton, die man mit der Maus anklicken kann. In der Infozeile stehen (von links nach rechts) der Filmname, die Anzahl der Bilder im Film, die Nummer und der Name des Bildes, das gerade angezeigt wird (gemeint ist die Nummer im Film, nicht die auf dem Desktop) sowie der restliche freie Speicher. In der oberen Kommandozeile gibt es die folgenden Kommandos: Zeigen enspricht der Funk- tion Film zeigen im Pulldownmen, der Film wird angezeigt (vgl. 4.3). Die Button < - und - > dienen zum Bl„ttern im Film. Ein Einfachklick schaltet ein Bild weiter (- >) oder zurck (< -), Doppelklick schaltet an den Filmanfang oder an das Ende. Gewissermassen vor dem Filmanfang mit Bild 1 wird noch ein (stets leeres) Bild Null ver- waltet, beim Einfgen von Bildern werden diese n„mlich nach dem aktuellen Bild eingefgt, um also ein neues Bild 1 einzufgen muss man auf Bild Null schalten. Womit wir beim n„chsten Punkt w„ren, dem Einfgen von Bildern. Dazu dient der But- ton Einfgen. Klickt man ihn an, so wird der Desktop angezeigt, und man kann das oder die Bilder angeben, die eingefgt werden sollen. Einzelne Bilder klickt man einfach an, darberhinaus kann man aber auch durch shift-Klick (wie beim Selektieren mehrerer Bil- der) mehrere aufeinanderfolgende Bilder in den Film bernehmen, wobei die Reihenfolge der beiden Mausklicks bercksichtigt wird. Doppelklick neben ein Bild bricht die Funktion ab, ohne ein Bild in den Film aufzunehmen. ____________________________________19 indem sie dem Verwaltungsteil Informationen ber Berechnungszeit sowie Iterations- und Pun* *ktanzahl zur Verfgung stellt 20was im einzelnen unter einer Iteration zu verstehen ist liegt bei der Berechnungsroutine; k* *orrekter w„re vieleicht auch die Bezeichnung Berechnungsschritte - nicht alle Routinen sind iterativ 21das Weiter-Men war mal Bestandteil des Neu-Mens, was aber wegen der variablen Anzahl de* *r Eintr„ge im Neu-Men nicht mehr m”glich ist, der Name Weiter fr diese Men ist nicht sonderlich pas* *send, mir fiel aber kein besserer ein 23 Achtung! Zum Scrollen auf dem Desktop stehen an dieser Stelle nur die Button, nicht aber die Tastatur-Kommandos zur Verfgung. Die gegenteilige Wirkung, n„mlich das L”schen von Bildern bernimmt der Button L”schen. Mit ihm wird das aktuelle Bild aus dem Film gel”scht. Mit dem n„chsten Button Optionen kann man die Anzeigeoptionen des Films einstellen. Sie entsprechen den Optionen beim Anzeigen von Bildern, jeder Film verwaltet allerdings eigene Optionen (die beim Erzeugen des Filmes mit den gerade eingestellten Anzeigeoptionen fr Bilder vorbelegt werden). Der letzte Button in der oberen Zeile, Beenden dient (na was wohl) zum Verlassen des Filmeditors. In der unteren Kommandozeile befinden sich die Button fr die Blockfunktionen. Mit Einfachklick auf Start und Ende kann man Blockanfang und -ende festlegen, wobei Start natrlich vor Ende liegen muss. Sind die Blockmarken gesetzt und die jeweiligen Bilder als aktuelles Bild eingestellt, so erscheinen diese Button invers; mit Doppelklick auf Start oder Ende kann man zu der entsprechenden Marke springen. Es folgen die Blockkommandos Copy, Move und Delete, die sich wohl selbst erkl„ren. Das Kommando Reverse dreht die Reihenfolge der Bilder eines Blockes um. 4.2 Filme „ndern Selbstverst„ndlich l„sst sich ein einmal erzeugter Film jederzeit „ndern. Dazu selektiert man den Film und w„hlt Film „ndern. Es wird der Filmeditor aufgerufen und es weiter wie beim Erstellen eines Filmes. 4.3 Filme anzeigen Mit dem Menpunkt Film im Men Zeigen kann man einen Film anzeigen, wenn genau ein Film selektiert ist. Beim Anzeigen eines Filmes gibt es die selben M”glichkeiten wie beim Anzeigen von Bildern. Zu Beachten ist h”chstens, dass jeder Film seine eigenen Anzeigeop- tionen verwaltet. 5 Input/Output 5.1 Speichern Mit den Menpunkten Speichern und Speichern ... kann man Objekte abspeichern. Fr Fraktale und Filme gibt es eigene Dateiformate (vgl. Teil V), Bilder k”nnen im Screen- Format (Doodle), im (ungepackten) Degas-Format, im Stad-Format und im GEM-Image- Format (Snapshot-Format) gespeichert werden; das Stad-Format gibt es nur in der sw- Version (es gibt nun mal kein farbiges Stadformat). Fraktale lassen sich ebenfalls in diesen Bildformaten speichern, dabei werden aber die Bild-Parameter nicht mit abgespeichert, so dass als Bild gespeicherte Fraktale nicht als gespeichert betrachtet und gekennzeichnet werden. Speichern und Speichern ... beziehen sich natrlich auf alle gerade selektierten Objekte. Dabei werden Filme allerdings als letztes bearbeitet, da sich Filme nur speichern lassen, wenn alle in ihnen enthaltenen Bilder gespeichert wurden. 24 Speichern ... unterscheidet sich von Speichern dadurch, dass man zun„chst in der Fileselec- torbox ein Dateipfad und optional ein Extension angeben kann. Der Pfad wird dann zum Defaultpfad, der fr alle Objekte vorgeschlagen wird; mit dem Extension kann der Bild- typ gew„hlt werden (PIC Screenformat, PI3 Degas, PAC Stad, IMG GEM-Image). Ist ein Extension angegeben, so werden auch Fraktale defaultm„ssig in diesem Format gespeichert. Im Modus Speichern ist der Defaultpfad der in den Einstellungen angegebene, er wird aber nur verwendet, wenn der Pfad eines Bildes noch nicht gesetzt ist. Fr jedes zu speichernde Objekt wird nun zun„chst eine Dialogbox aufgebaut, in der die Nummer des Objektes, der Objekttyp (Fraktal, Bild oder Film) und der Objektstatus (ge„ndert oder unver„ndert) angezeigt wird. Mit dem Button Show kann man bei Bildern einen Blick auf das Bild werfen. Unter diesen zur Information dienenden Angaben befindet sich der Bildname und der Da- teipfad, ausserdem wird das Dateiformat angezeigt. Dieses kann man durch Anklicken eines der Button „ndern, es wird dann automatisch das entsprechende Extension in den Namen eingetragen. Mit dem Button Select k”nnen diese via Dateiselectorbox ge„ndert werden, natrlich ist dies auch direkt mit der Tastatur m”glich. Der Dateityp, unter dem ein Bild oder auch ein Fraktal abgespeichert wird, wird durch das hier eingestellte Dateiextension festgelegt. CH? ist nur bei Fraktalen m”glich und bedeutet das Abspeichern als Fraktal; mit PIC, PI3 oder PAC wird das Fraktal oder das Bild im entsprechenden Dateityp gespeichert. Andere Extension sind nicht m”glich (ausser natrlich FF3 fr Filme), versucht man mit einem anderen Extension zu speichern, so korrigiert CHAOSultd das Extension, gibt eine Meldung aus und verl„sst die Dialogbox nicht. Zum Verlassen der Box stehen vier Button zur Verfgung: bei Speichern wird das Bild gespeichert und die Dialogbox fr das n„chste Bild angezeigt, weiter geht zum n„chsten Bild ber ohne das aktuelle Bild zu speichern, Abbruch bricht den ganzen Speicherprozess ab. Bleibt noch Info aus. Mit diesem Button kann man veranlassen, das fr die noch folgenden zu speichernden Bilder keine Eingaben mehr gemacht werden k”nnen. CHAOSultd stellt dann nur noch die Parameter in der gleichen Weise wie bisher dar, geht aber anschliessend sofort mit den Defaultparametern zum Speichern ber (Dies l„sst sich auch von Anfang an erreichen, indem man in den Einstellungen die Nachfrage bei save abstellt. Es ist aber zumindest Anfangs zu empfehlen, wenigstens beim ersten Bild zu berprfen, ob die Spei- cherfunktion auch das tut, was man wollte.). In diesem Fall kann das Abspeichern durch Drcken der Alternate-Taste abgebrochen werden. Kommt es beim Speichern zu einem Namenskonflikt (eine Datei soll erzeugt werden, die schon besteht) so wird dies (abh„ngig von den Einstellungen des Programms) in einer der Dialogbox beim Speichern sehr „hnlichen Box angezeigt. Man kann hier den Namen noch- mals „ndern, und die Box wiederum auf viererlei Weise verlassen. šberschreiben speichert das Objekt mit dem eingestellten (eventuell ge„ndertem) Namen ohne sich um eine even- tuell bestehende Datei zu kmmern, Weiter und Speichern arbeiten wie oben beschrieben, Msg. aus schaltet analog zu Info aus die Warnung von šberschreiben ab. Gespeicherte Objekte werden auf dem Desktop abgehakt dargestellt, Fraktale, die als Bilder gespeichert wurden gelten wie gesagt nicht als gespeichert. 5.2 Laden Mit dem Eintrag Laden im Men Datei kann man Objekte wieder einladen. 25 Es erscheint die Dateiselectorbox, mit der einzelne oder auch mehrere Bilder ausgew„hlt werden k”nnen. Gibt man explizit einen Dateinamen an, so wird diese eine Datei geladen. Gibt man aber keinen Dateinamen an, so werden alle in der Dateiselectorbox gerade darge- stellten Dateien, sofern sie CHAOSultd-Objekte sind (also alle Dateien mit den Extension CH?, FR3, PIC, PI3, PAC und FF322), geladen. Das Einladen l„sst sich durch Drcken der Alternate-Taste abbrechen. Beim Laden von Filmen werden alle in dem Film enthaltenen Bilder geladen, sofern nicht Bilder gleichen Namens und Dateipfades bereits im Speicher vorhanden sind. (n„here In- formationen zum Aufbau einer Filmdatei in V.2) Als Besonderheit k”nnen auch Bilder und Filme der jeweils anderen Aufl”sung 'geladen' werden, also Farbfractale in die sw-Version und monochrome Bilder in die Farb-Version. Es wird dann allerdings nicht das ganze Bild, sondern nur die Bildparameter geladen und ein leeres Bild erzeugt. Dabei werden Parameter durch die Berechnungsroutinen an die andere Aufl”sung angepasst und gegebenenfalls erg„nzt. Mit weiter kann man dann die zugeh”rigen Bilder erzeugen. 5.3 Drucken Zuerst die gute Nachricht: CHAOSultd besitzt eine sehr leistungsf„hige Hardcopy-Routine. Die schlechte Nachricht: Die Hardcopy-Routine gibt es nur in der sw-Version und nur fr 24Nadel-Drucker. Andere Drucker und das Drucken von Farbbildern wird von CHAOSultd nur insofern untersttzt, als man auf die TOS-Hardcopy-Routine (oder irgendeine ins System eingeh„ngte alternative Routine) zugreifen kann. Zum Aufruf der Hardcopy-Routine dient der Menpunkt Drucken im Zeigen-Men. Ausser- dem kann die Funktion auch beim Anzeigen von Bildern angew„hlt werden (vgl. 3.1). Im letzteren Fall wird nur das gerade angezeigte Bild gedruckt, beim Aufruf vom Desktop aus alle selektierten Bilder. Es erscheint zun„chst eine Dialogbox, in der man die Druckparameter einstellen kann, soweit man die interne Hardcopy-Routine verwendet. Druckt man ber die TOS-Hardcopy so sind diese Parameter im wesentlichen bedeutungslos, so auch in der Farb-Version. CHAOSultd kann Bilder in drei Gr”ssen ausdrucken; klein und gross sind Normalformate (Bildschirmzeilen erscheinen als Zeilen auf dem Papier), quer ist ein Querformat (Bild- schirmzeilen erscheinen als Spalten). Dabei fllt gross nicht ganz ein halbes DIN A4 Blatt, klein ist halb so breit und halb so hoch. quer ist am gr”ssten und fllt ein DIN A4 Blatt in etwa aus. Grosse und kleine Bilder erscheinen im Ausdruck gleich gross (kleine werden also doppelt so stark vergr”ssert), mittlere fallen etwas aus dem Rahmen. Als Besonderheit gibt es noch die M”glichkeit doppelt als Gr”sse auszuw„hlen, in diesem Fall werden die Bilder in der Gr”sse klein gedruckt, aber immer zwei nebeneinander. Dies geht natrlich nur, wenn mindestens zwei Bilder gedruckt werden sollen, und auch nur mit kleinen und grossen Bildern. (mittlere sind wegen der unterschiedlichen Bildgr”sse nicht m”glich). ____________________________________22 in Farbe muss man die 3 durch eine 1 ersetzen, FR3 sind Fraktale aus FRACTAL 4.30 26 Neben diesen Bildgr”ssen kann eingestellt werden, ob CHAOSultd die Bilder dicht aneinander drucken soll, oder ob es zwischen ihnen einen Abstand lassen soll. Ist Abstand ein gew„hlt, so wird zwischen den Bildern die in der Druckereinstellung (vgl. 6.2) definierte Steuerse- quenz fr LF (Linefeed) gesendet, und im Modus doppelt zwischen den beiden Bildern ein Abstand von zwei Zeichen gelassen. Dicht, also ohne Abstand Drucken erm”glicht es vor allen gr”ssere Hardcopies aus mehreren Bilder zusammenzusetzen, oder auch die Aufl”sung einer Hardcopy der Gr”sse gross zu vervierfachen, indem man vier entsprechende Bilder an- einanderdruckt, die Erzeugung von vier solchen Bildern wird durch die Funktion vier Bilder (vgl. 2.3) untersttzt. Als n„chstes kann man w„hlen, ob die (wichtigsten) Bildparameter mitausgedruckt werden sollen oder nicht. Werden sie gedruckt, so ist es allerdings nicht m”glich die Bilder dicht aneinander zu drucken. Im Modus doppelt k”nnen die Parameter nicht gedruckt werden, die Einstellung wird ignoriert. Dann kann man einstellen, ob leere (Graphik-) Zeilen gedruckt werden sollen oder nicht. L„sst man sie nicht drucken, so kann man bei nicht bildschirmfllenden Bildern (etwa bei 3d-Fractalen) Papier sparen. Zu guter Letzt kann man w„hlen, ob und wenn nach wievielen Bildern ein Formfeed gesendet werden soll. Setzt man die Anzahl der Bilder auf Null, so wird kein Formfeed gesendet, sonst nach der angegebenen Anzahl von Bildern, wobei im Modus doppelt die nebeneinander gedruckten Bilder natrlich nur einfach gez„hlt werden. Unter den Button fr diese Parameter finden sich drei Button, mit denen direkt Druckerkom- mandos gesendet werden k”nnen, n„mlich LF (Linefeed), FF (Formfeed) und Init. Gesendet werden die ent- sprechenden, in der Druckereinstellung eingestellten Codes, so dass sich be- liebige Wirkungen erzielen lassen. Gedacht ist es allerdings so, dass LF einen Papiervorschub bewirkt, FF einen Seitenvorschub und Init die Druckerinitialisierung. Zumindest LF und FF sollte man nicht zweckentfremden, da diese Kommandos auch von der Hardcopy-Routine im eben genannten Sinne verwendet werden. Aufgerufen wird die interne Hardcopy-Routine durch Verlassen der Box mit Ok. Die System- Hardcopy ruft man durch Verlassen der Box mit den Button ALT/HELP oder TOS auf, in der Farbversion ist dies die einzige M”glichkeit. Bei ALT/HELP wird das Drcken der Ta- stenkombination ALT/HELP intern simuliert, bei TOS erfolgt der Hardcopyaufruf durch die XBIOS-Funktion Scrdmp (Xbios(20)). Die Wirkung ist nur dann unterschiedlich, wenn eine alternative Hardcopy-Routine ins System eingeh„ngt wurde (fr 9Nadel-Drucker norma- lerweise nicht n”tig), und diese nicht beide Aufrufe abf„ngt. Im Zweifelsfall hilft hier wie immer das Ausprobieren. Beim Aufruf der System-Hardcopy sind von den Parametern nur das Drucken oder Nicht- drucken der Bildparameter und die Einstellung des Formfeed nach jeweils einer bestimmten Anzahl von Bilder von Bedeutung. 6 Einstellungen CHAOSultd erlaubt eine Reihe von Einstellungen vorzunehmen, die auch gespeichert werden k”nnen. Neben allgemeinen Einstellungen und den Druckercodes k”nnen die Parameter der einzelnen Bildtypen voreingestellt werden. 27 6.1 allgemeine Einstellung Die allgemeinen Einstellungen erreicht man im Datei-Men mit dem Menpunkt Einstellun- gen. Hinter diesem verbirgt sich eine (wie Sie es ja inzwischen wohl gew”hnt sind) ziemlich grosse und volle Dialogbox, in der man einige Parameter einstellen kann, die das Verhalten des Programmes in bestimmten Situationen festlegen. Als da w„ren: Speicher frei lassen legt fest, wieviel Speicher CHAOSultd dem System (z.B. fr die Datei- selectorbox (ab TOS 1.4) oder fr Accessories) brig lassen soll. CHAOSultd belegt beim Programmstart den gr”ssten freien Speicherblock (normalerweise ist das (zumindest fast) der ganze freie Speicher) abzglich der hier angegebenen Speichermenge. Diese Einstellung wird erst bei einem Neustart von CHAOSultd aktiv (natrlich nur wenn sie auch abgespeichert wurde), sie „ndert nichts an der momentanen Speicherbelegung. Gong bei Berechnungsende: Hier kann man einstellen, ob bei Berechnungsende ein Gong dieses anzeigen soll oder nicht. Der Button Test gibt den Gong versuchsweise aus, so dass man etwa die Lautst„rkeeinstellung am Monitor berprfen kann. Anmerkung: der Gong wird durch Ausgabe des Zeichens 7 (nicht die Ziffer 7, sondern der ASCII Code 7) via Gemdos erzeugt. Das ist der selbe Gong, der (ensprechende Einstellung im Kontrolfeld vorausgesetzt) auch ert”nt, wenn man neben eine Dialogbox klickt. Dazu ist es n”tig, dass in den Systemvariablen das entsprechende Flag gesetzt ist, das man eben auch l”schen kann, beispielsweise mit dem Kontrolfeld. Deswegen setzt CHAOSultd diese Flag beim Programmstart und setzt es beim Verlassen wieder auf den alten Wert zurck. Žndert man nun w„hrend CHAOSultd l„uft mit einem Accessory dieses Flag, so wird erstens (beim L”schen des Flags) der Gong beim Berechnungsende nicht funktionieren und zweitens diese Žnderung beim Verlassen von CHAOSultd berschrieben. Das Ein- oder Ausschalten des Gongs schaltet auch die drei Gongs ein bzw. aus, mit denen auf eine Garbage Collection hingewiesen wird. Mit Cursor bei Block ... kann man die Art des Cursors fr die Auswahl von Koordinaten aus Bildern (z.B. beim Festlegen eines Blockes) einstellen. Maus bedeutet einen normalen GEM-Cursor (in Kreuzform), Kreuz ein Fadenkreuz. Standartdateipfad legt den Defaultpfad fr speichern und laden fest. Mittels Select kann dieser mit der Dateiselectorbox eingestellt werden. Standartdateityp Bilder bestimmt den Defaultdateityp fr Bilder. Nachfrage bei Save erlaubt es die Dialogbox, in der die Dateinamen zu speichernder Objekte angezeigt werden und ge„ndert werden k”nnen, von vorneherein abzuschalten, so dass nur noch ein Info ausgegeben wird (vgl. Speichern 5.1). Es folgen einige Einstellungen, mit denen Sicherheitsabfragen ein und ausgeschaltet werden k”nnen: Bei Datei berschreiben kann man die Warnung vor Namenskonflikten ein- und ausschalten. (Vor allem wenn man eine gr”ssere Zahl von Bilder zum Weiterberechnen geladen hat und sie dann wieder abspeichern will sollte man die Warnung ausschalten, man kann dies aber wie beschrieben auch in der Warnung selbst). Berechnung abbrechen bezieht sich auf eine Warnung die beim Abbrechen der Berechnung mehrerer Bilder mit ALTERNATE-ESC erscheint (bei anderen Berechungsabbrchen kann man die Berechung normalerweise fortsetzen, so dass keine Warnung n”tig ist). Bei Objekte l”schen hat man die M”glichkeit eine Warnung bei neuen (also nicht abgespei- cherten, erkenntlich am fehlenden Haken) Objekten, bei mehreren Objekten, nie oder immer 28 zu erhalten, bei Programm verlassen f„llt demgegenber lediglich die Option mehrere weg. Verl„sst man die Einstellungen mit Speichern, so werden die Einstellungen bernommen und in die Einstellungsdatei CHS_ULTx.SET bernommen (zusammen mit den gerade einge- stellten Druckercodes und Parametervoreinstellungen). Beim Verlassen mit Ok entf„llt das Speichern. 6.2 Druckereinstellung Die Einstellung der Druckercodes ist vor allem fr Besitzer eines 24Nadel Druckers wichtig, allerdings sollten auch die anderen hier mal hineinschauen. Alle Druckercodesequenzen werden mit $FF aufgefllt, das auch zur Code-Ende Erkennung dient. Steuersequenzen drfen diese Byte deshalb nicht enthalten. Folgende Druckercodes werden ben”tigt: Graphik 180: 180dpi Graphikdruck. Die Anzahl der Spalten wird vom Programm selber angefgt, dies soll durch das xx am Ende der Zeile symbolisiert werden. CR: ein einfaches Carrige Return Abst. Gr: Zeilenvorschub xx 1/180 Zoll. Der Parameter xx am Ende wird wieder vom Pro- gramm angefgt. Abst. Text: Zeilenvorschub fr Text linker Rand: Kommando zum Einstellen des linken Randes. Diese Kommando wird zum Zentrieren der Bilder verwendet, in den Zeilen darunter muss fr die einzelnen Bild- und Hardcopygr”ssen die jeweilige Einstellung angegeben werden. Linefeed, Formfeed und Init Drucker sind die Steuercodes, die mittels der entsprechenden Button in der Hardcopy-Dialogbox direkt an den Drucker geschickt werden. Linefeed und Formfeed werden auch von der Hardcopy-Routine selbst verwendet. Bei Ausgabe durch l„sst sich festlegen, ob die Druckerausgabe mit Hilfe der Tos-Routinen (genauer Bios) oder mittels eigener direkt auf die Centronics-Schnittstelle zugreifender Rou- tinen erfolgen soll. Der direkte Zugriff auf die Centronics-Schnittstelle hat zwei Vorteile. Erstens entgeht man so dem (von wohl vielen ST Benutzern mit 24Nadel-Drucker verwendetem) FX-80 Emulator, der sonst in die Hardcopy-Routine eingreift und nur Schrott, nicht aber das gewnschte Bild auf dem Papier erscheinen l„sst, zweitens ist der Ausdruck auf diese Weise deutlich schneller. Allerdings hat auch die Ausgabe via Tos ihre Vorteile. Sie erlaubt Ausdruck ber die serielle Schnittstelle23 (was ich allerdings nie getestet habe, mangels Drucker) und sie erm”glicht den Betrieb von Druckerspoolern. Ausserdem ist sie gewissermassen die letzte Rettung, falls meine Ausgaberoutine mit dem einen oder anderen Drucker Probleme bereitet. Ich habe sie zwar mit meinem P6+ getestet, wo sie problemlos funktionierte, aber man kann ja nie wissen. Fr das Verlassen der Dialogbox gilt daselbe wie bei den allgemeinen Einstellungen, bei Speichern werden auch diese (und die Voreinstellungen der Parameter) mit abgespeichert. ____________________________________23 dazu muss nur die Druckeranpassung richtig eingestellt sein. Ich verweise hier nur auf das * *CONTROL.ACC 29 6.3 Voreinstellung der Bildparameter Die Voreinstellung fr die Bildparameter der Berechnungsroutinen erreicht man - soweit vor- handen und vernnftig implementiert - via SHIFT-Klick auf den entsprechenden Menpunkt im Neu-Men. Die Parameter k”nnen von dort aus nicht gespeichert werden, dazu muss man eine der beiden anderern Einstellungen aufrufen und dort Speichern ausw„hlen. Alle Parameter werden in der Datei CHS_ULTx.SET gespeichert; es st”rt beim Starten des Programmes nicht, wenn sich in dieser Datei Parameter von Routinen befinden, die nicht geladen werden, diese gehen jedoch verloren, wenn man die Parameter abspeichert. Eine weitere Funktion der Berechnungsroutinen, die keine feste Bedeutung hat, erreicht man - soweit implementiert - mit CONTROL-Klick auf einen Menpunkt im Neu-Men. Die Funktion kann beispielsweise zur Eingabe weiterer Voreinstellungen dienen. 7 Besonderheiten der Farbversion Die Farb- und sw-Version von CHAOSultd sind weitgehend gleich, insbesondere in der Be- dienung. Abweichungen wurden an ein paar Stellen in dieser Anleitung bereits erw„hnt. Zwei Punkte, den Aufl”sungswechsel und die Einstellung der Farbtabelle, m”chte ich hier noch erl„utern. 7.1 Auf l”sungswechsel Die Farb-Version l„uft prinzipiell in mittlerer Aufl”sung, sie muss so gestartet werden und alle Eingabefunktionen, auch der Desktop, arbeiten in mittlerer Aufl”sung. Alle Bilder werden dagegen in niedriger Aufl”sung berechnet und angezeigt. Dieser Aufl”sungswechsel ist n”tig, da fr den Desktop und eine ganze Reihe von Dialog- boxen von CHAOSultd in niedriger Aufl”sung nicht genug Platz w„re, Bilder andererseits mit m”glichst vielen Farben dargestellt werden sollten. Wird nun beim Anzeigen von Bilden eine Dialogbox aufgerufen, eine Mauseingabe verlangt uws., so wird das Bild in ein Bild mittlerer Aufl”sung mit 4 Graustufen umgerechnet. Diese Umrechnung erfolgt sehr schnell, dafr geht natrlich Farbinformation verloren, so wird zB. die erste, fnfe, neunte und dreizehnte Farbe auf die gleiche Graustufe abgebildet (entsprechend die 2.,6.,10. und 14., die 3.,7.,11.,15. sowie die 4.,8.,12.,16.). Hat man das Bild mit einer einigermassen normalen Farbgestaltung erzeugt, so sollten die Strukturen weiterhin erkennbar bleiben. 7.2 Farbeinstellung Die Dialogbox zur Einstellung der Farbtabelle ist Teil von CHAOSultd (und nicht der Be- rechnungsroutinen). Um gleichzeitig alle Farben anzeigen zu k”nnen und eine Dialogbox zur Eingabe zu ver- wenden wurde ein Rasterzeileninterupt verwendet, das heisst der obere Teil des Bildschirms wird in geringer, der untere Teil in mittlerer Aufl”sung angezeigt. Sollen die Farben eines zumindest teilweise existierenden Bildes ge„ndert werden, so wird ganz oben der obere Teil des Bildes angezeigt, dann kommen 16 Balken mit den einzelnen Farben. Wird die Farbtabelle fr ein neues Bild erstellt, so werden nur die Farbbalken angezeigt. 30 Unten wird eine Dialogbox angezeigt. Mit den 16 Button direkt unter den Farbbalken kann man die zu „ndernde Farbe anw„hlen. Durch shift-Klick kann man mit gedrckter Maustaste eine Farbe an eine andere Stelle ko- pieren, mit control-Klick und gedrckter Maustaste erh„lt man einen Farbverlauf zwischen Anfangs- und Endfarbe. Unter diesen 16 Button befindet sich nochmal eine Leiste mit 16 Button, die selektiert werden k”nnen. Sie bestimmen, welche Farben beim Rotieren bercksichtigt werden. Zum Rotieren (also zyklischen Verschieben der Farben nach links oder rechts) dienen die Button '->' und '<-'. Die Leisten 0-7 mit den Bezeichnungen rot, grn und blau dienen natrlich zum Einstellen der angew„hlten Farbe (vgl. Control.acc). Daneben gibt es die M”glichkeit die Farben nach dem HLS-Modell (Hue (Farbton), Light- ness (Helligkeit) und Saturation (S„ttigung)) einzugeben; dazu dienen die (quasikontinuier- lichen) Schieber mit den Bezeichnungen Farbe, Hell. und S„ttig.. Die Einstellungen im RGB- und HLS-Modell werden jeweils automatisch in das andere Modell bernommen. Die Button Tab 1 - Tab 12 enthalten voreingestellte Farbtabellen, die mit Einfachklick abgerufen und mit Doppelklick eingestellt werden k”nnen (die Einstellung gilt auch noch nach Verlassen der Dialogbox mit Abbruch). Gespeichert werden die Farbtabellen mit den anderen Parametern (vgl. 6.1). Zwei Anmerkungen zur Farbeinstellung: Mit der Maus kann man grunds„tzlich auch in den oberen Teil fahren, dort wird sie aber wegen der falschen Aufl”sung nicht korrekt angezeigt und es sind keine Eingaben m”glich. Als Hintergrundfarbe (Farbe 0) sollte man die gleiche Farbe verwenden, die auch in mittlerer Aufl”sung als Hintergrundfarbe eingestellt ist (i.a. weiss), da es sonst am oberen Bildschirm- rand und zwischen niedriger und mittlerer Aufl”sung zu unsch”nem Flackern kommt. 31 8 Tastatur-Kommandos Alle Menpunkte k”nnen auch ber Tastatur-Kommandos aufgerufen werden. Die Kommandos werden am Ende des Meneintrages angezeigt, wobei einfache Buchstaben die Taste ohne Zusatztasten und '^'-Buchstabe die Taste zusammen mit der Control-Taste bedeutet. Grunds„tzlich wird der Tastatur-Code, nicht der Ascii-Code der Taste ausgewertet, so dass insbesondere der Ziffernblock separat behandelt wird. Die Tasten des Ziffernblockes werden fr das Neu-Men verwendet, zus„tzlich sind die Ta- sten F, D und X wie in FRACTAL 4.30 fr die ersten drei Eintr„ge (Fractale) m”glich. Zus„tzlich zu den Tastatur-Kommandos zur Bedienung des Desktops und des Neu-Mens hat man folgende Befehle: Kommando | Men | Eintrag CTRL I | CHAOSultd | Fractal 4.1 CTRL L | Datei | Laden ... CTRL S | Datei | Speichern CTRL W | Datei | Speichern ... CTRL X | Datei | Objekte l”schen CTRL E | Datei | Einstellungen CTRL H | Datei | Druckparameter CTRL Q | Datei | Prog. beenden S |Zeigen | Bild(er) A |Zeigen | alle Bilder C |Zeigen | Film O |Zeigen | Optionen V |Zeigen | Bildvergleich B |Zeigen | Block zeigen P |Zeigen | Parameter I |Zeigen | Info H |Zeigen | Bilder drucken W |Weiter | weiter Q |Weiter | alle weiter N |Weiter | neu berechnen M |Weiter | Film E |Weiter | Edit Film 9 Sonstiges Nachdem am Anfang dieses Abschnittes auf den wichtigsten Teil von CHAOSultd verwiesen wurde, soll hier noch ein Hinweis auf den zweitwichtigsten Teil folgen, das Programm-Info. Schliesslich habe ich das Programm nur geschrieben, um mich irgendwo verewigen zu k”nnen. Das Programminfo ist mehrteilig; nach einer Dialogbox, die Programm und Autor nennt und einer weiteren Dialogbox, die etwas detailiertere Angaben zum Programm bietet, folgen eine oder mehrere weitere Dialogboxen, die die Berechnungsroutinen und ihre Autoren nennen. 32 Teil II die Fractal-Routinen 1 der Algorithmus Fractale im Sinne dieser Routinen beruhen auf einer Verallgemeinerung von Mandelbrot- und Julia-Mengen - erstere sind auch als Apfelm„nnchen bekannt. Apfelm„nnchen beruhen bekanntlich auf Folgen komplexer Zahlen, die durch die Rekursi- onsformel zn+1 = z2n- z0 definiert sind24. Das Bild entsteht dann so, dass man einen Teil der komplexen Ebene auf den Bildschirm abbildet und fr jeden Punkt z0 untersucht, ob und wenn wann die Glieder der zugeh”rigen Folge dem Betrage nach einen bestimmeten Wert (die Abbruchbedingung) berschreitet. Die Farbe des Punktes bestimmt sich dann aus der der Anzahl der n”tigen Iterationen bis zum Erreichen der Abbruchbedingung. Julia-Mengen werden fast genauso berechnet, allerdings lautet die Rekursionsformel hier zn+1 = z2n+ c wobei c eine fr alle Bildpunkte gleiche, komplexe Konstante ist. In den Fractal-Routinen von CHAOSultd sind nun diese beiden Formeln zur folgenden zusammengefasst: zn+1 = z2n+ ffz0 + c wobei ff eine (reelle) Konstante ist. Apfelm„nnchen erh„lt man aus dieser Formel leicht durch ff = 1 und c = 0, Juliamengen durch ff = 0 und c 6= 0. Diese Berechnungsformel liegt den Bildern, die mit den Menpunkten Fractal(e) und 3d Fractal(e) erzeugt werden, zugrunde. Bei pseudo-dreidimensionalen Bilder wird dabei die Be- rechnungstiefe eines Punktes nicht durch seien Farbe dargestellt, sondern direkt als H”hen- information verwendet. Fr freie Fract. kann die Berechnungsformel explizit angegeben werden so dass man selbst experimentieren kann. 2 Parameter 2.1 ben”tigte Parameter Wie gesagt, wird ein Ausschnitt der komplexen Zahlenebene auf den Bildschirm abgebil- det. Dazu muss man natrlich diesen Ausschnitt, durch den minimalen und maximalen ____________________________________24 statt des '-' findet man teilweise auch ein '+' 33 Real- und Imagin„rteil festlegen. Des weiteren muss ff, die Konstante c (Real- und Ima- gin„rteil), die Abbruchbedingung25, also die Zahl die der Betrag der komplexen Zahl aus der Rekursionsformel bersteigen soll, und die maximale "Tiefe", d.h. die maximale Anzahl von Rekursionsschritten, nach der die Berechnung sp„testens abgebrochen wird, festgelegt werden. Die max. Tiefe kann bis 9999 gross werden, je gr”sser sie ist, desto l„nger dauert allerdings auch die Berechnung des Bildes. (Bei einer Tiefe von 9999 kann die Berechnung eines ein- zigen Bildes durchaus mehrere Tage in Anspruch nehmen. Im allgemeinen verwendet man kaum Tiefen ber 250). Die Abbruchbedingung kann aufgrund des fr schnelle Berechnungen (s.u.) verwendeten Festkommazahlenformates nicht gr”sser als 11 werden, aufgrund ihrer Definition ist sie stets positiv, also gr”sser 0. Fr die anderen Parameter wird lediglich geprft, ob der minimale Real-/ Imagin„rteil auch wirklich kleiner als der maximale ist, ebenfalls aufgrund des Zah- lenformates drfen diese Parameter dem Betrage nach nicht gr”sser als ca. 127 sein. Da die Interessanten Strukturen aber ohnedies im Bereich von 3 real und 2 Imagin„r liegen (zu- mindest in etwa) sollten sich damit trotz der an dieser Stelle fehlenden Sicherheitsabfragen keine Probleme ergeben26. Weiterhin muss man natrlich festlegen, wie die Anzahl der Rekursionsschritte in Farben umgesetzt werden soll. Auch hier erlaubt CHAOSultd wesentlich mehr Einstellungsm”glich- keiten als andere Programme. In der SW-Version k”nnen k”nnen Bilder als reine Schwarzweissbilder oder als Graustufenbil- der berechnet werden. Die Graustufen (fnf sind m”glich) werden dabei durch Pixelmuster (2*2 Pixel fr einen Punkt) erzeugt, so dass bei ihnen die Aufl”sung entsprechend geringer ist. Zum anderen ordnet man blicherweise die Farben der Schrittanzahl so zu, dass sich die Farben immer wieder zyklisch wiederholen. In CHAOSultd sind dagegen maximal fnf un- abh„ngige Bereiche m”glich. Fr jeden Bereich, der durch die maximale Schrittanzahl, fr die er noch gelten soll, festgelegt wird, kann man entweder eine feste Farbe oder aber das zyklische Wiederholen einer bestimmten Anzahl von Farben festlegen. Im letzteren Fall muss man angeben, welche Farben (kleinste und gr”sste Nummer), welche Farbe zuerst, und wie- viele verschiedene Schrittanzahlen fr eine Farbe man haben will. Zu guter letzt kann man noch w„hlen, in welcher Farbe Punkte erscheinen sollen, fr die die maximale Tiefe erreicht wurde. Ausser diesen Parametern, die den Bildinhalt beschreiben, kann man zum einen noch w„hlen, ob man ein grosses, mittleres oder kleines Bild erzeugen will, was natrlich die Rechenzeit und den Speicherbedarf beeinflusst. Zum anderen kann man zwischen zwei Berechungsrou- tinen w„hlen: schnell und exakt, wobei schnell mit einem speziellen Festkommazahlenformat arbeitet, w„hrend exakt die Rechenroutinen von Turbo/Pure C verwendet27. (exakt ist natrlich wesentlich langsamer, weshalb ich von der Benutzung im allgemeinen abrate). ____________________________________25 viele Apfelm„nnchenprogramme verwenden 2 als Abbruchbedingung, allerdings finde ich die Bi* *lder, die mit der Abbruchbedingung 10 entstehen, sch”ner 26im Berechnungsmodus exakt (s.u.) lassen sich theoretisch auch gr”ssere Bereiche realisiere* *n, aber wie gesagt, finden kann man da an sich nichts 27das heisst es wird mit 80 Bit Fliesskommazahlen und einer entsprechenden Genauigkeit von 19* * signi- fikanten Ziffern gearbeitet. Ausserdem wird ein eventuell vorhandener Fliesskommacoprozessor au* *tomatisch genutzt. 34 2.2 Eingabe der Parameter Wie Sie sehen ist fr jedes Bild also eine ziemlich Anzahl an Parametern einzustellen. Dazu kommt noch, dass die meisten Parameter doppelt vorhanden sind, um Bildfolgen, bei denen nur das erste und letzte Bild angegeben werden, zu erm”gliche - die Parameter der brigen Bilder werden dann durch Interpolation berechnet. Fr gew”hnliche Bilder, wie man sie mit anderen Fraktalprogrammen auch erzeugen kann, gibt es aber einige Funktionen, die das Einstellen der Parameter erleichtern. Um Fractale zu erzeugen klickt man in der Menleiste den Menpunkt Fractal(s) im Men Neu an. Es erscheint dann die (ziemlich umfangreiche, also nicht erschrecken) Dia- logbox zum Eingeben der Parameter, in der (sofern die Einstellungsdatei CHS_ULT?.SET korrekt geladen wurden) bereits Parameter voreingestellt sein sollten (diese Voreinstellung ist jedesmal dieselbe, sie kann ge„ndert werden, wenn man den Menpunkt Fractal(s) mit gedrckter SHIFT-Taste aufruft; bei einem erneuten Aufruf findet man also nicht wieder die Parameter vor, die man zuletzt eingestellt hatte). Im folgenden die Parameter von oben nach unten, als da w„ren, der Name des Bildes (der sp„ter auf dem Desktop von CHAOSultd angezeigt wird und auch als Dateiname verwendet wird), die Anzahl der Bilder (fr Einzelbilder natrlich 1) sowie die gewnschte Bildgr”sse. Anschliessend kommen zweispaltig die einzelnen numerischen Bildparameter, wie in 2.1 erl„utert. Dabei interessiert fr Einzelbilder nur die linke Spalte, die rechte bleibt unbe- nutzt. Unterhalb der Parameter befinden sich einige Button, die das Leben erleichtern. Alle diese Button k”nnen mit Einfach- und mit Doppelklick aufgerufen werden, wobei bei Einfachklicks nur die numerischen Parameter, bei Doppelklicks auch Bildgr”sse, Farben und Berechnungs- modus ver„ndert werden. apf erm”glicht das Aufrufen einer Voreinstellung fr das Urapfelm„nnchen, dies ist die einfachste M”glichkeit ein Bild zu erhalten; mit dem Button clr kann man alle Eintr„ge l”schen. Mit dem Button - > kann man die Parameter von links nach rechts kopieren. Einen clr-Button gibt es auch je fr die linke und rechte Parameterh„lfte. Die anderen beiden Button (fr die Parameterh„lften) funktionieren nur, wenn schon Bilder berechnet wurden: Mit get bernimmt man die Parameter eines bestehenden Bildes, indem man das Bild auf dem Desktop anklickt. Die šbernahme aller Parameter (beim Aufruf mit Doppelklick) ist nur fr gleiche Bildtypen (normale oder 3d Bilder) m”glich, um die Funktion abzubrechen gengt ein Doppelklick auf den Hintergrund. Mit CONTROL-get (Einfach- oder Doppelklick) kann man die Konstante c durch Anklicken einer Position in einem (normalen) Fractal setzen. Mit block kann man Ausschnitte aus berechneten Bildern ausw„hlen, allerdings nicht aus 3d Bildern. Man klickt das entsprechende Bild auf dem Desktop an, es wird angezeigt, und man kann den Ausschnitt festlegen, indem man erst durch einen Mausklick die eine Ecke, und dann durch einen weitere Klick die zweite Ecke festlegt. Mausklick rechts fhrt zum Abbruch; drckt man beim ersten Mausklick zus„tzlich die SHIFT-Taste, so ist der Ausschnitt in seinen Proportionen beliebig, ansonsten entspricht er dem Bildschirmformat. Nun folgt noch die Einstellung des Berechnungsmodus, schnell oder exakt. Die Einstellung der Farben wird aus Platzgrnden lediglich angezeigt (im kleinsten System- zeichensatz), eingestellt wird sie in einer eigenen Dialogbox, in die man mit dem Button Farben gelangt. In dieser Dialogbox kann man - in der SW-Version - zun„chst mit den beiden Button s/w 35 und grau oben in der Box w„hlen, ob man Schwarzweiss- oder Graustufen-Bilder haben m”chte. Dabei bewirkt ein Einfachlick das Umschalten, ohne dass die anderen Eintr„ge in der Dialogbox ge„ndert werden, w„hrend ein Doppelklick gleichzeitig die Farbparameter auf zyklisches Durchscrollen aller Farben einstellt. Unter diesen Button sind die in den beiden Modi jeweils m”glichen Farben und ihren Farb- nummern angezeigt. Mit den folgenden Button normal und invers w„hlt man, ob die Farben wie blich (Hin- tergrund weiss, gesetzte Pixel schwarz) oder invertiert (Hintergrund schwarz, gesetzte Pixel weiss) dargestellt werden sollen. šbrigens l„sst sich diese Einstellung (im Gegensatz zu den anderen) jederzeit ver„ndern, also auch wenn das Bild schon ganz oder teilweise berechnet wurde. In der Farbversion kann man mit dem Button zykl. ebenfalls zyklisches Durchscrollen ein- stellen. Mit dem Button Farben einstellen kommt man in die Dialogbox zum Žndern der Farbtabelle, die sich auch aus der Dialogbox fr die Parameter mit dem Button „ndern direkt aufrufen l„sst. Nun folgen in der Dialogbox die Angaben fr die fnf Farbbereiche, die aber nicht alle ge- nutzt werden mssen. Zun„chst kommt die Angabe, bis zu welcher Tiefe der Bereich gelten soll. Der erste Bereich beginnt mit der Tiefe 0, der zweite direkt nach dem ersten usw. Der letzte verwendete Bereich muss durch die Angabe von 9999 als Endtiefe gekennzeichnet wer- den, folgende Bereiche werden, auch falls vorhanden nicht mehr beachtet. Bei den Bereichen wird nicht darauf geachtet ob sie sinnvoll mit der max. Berechnungstiefe zusammenpassen, d.h. man k”nnte auch bei einer max. Berechnungstiefe von meinetwegen 50 einen Bereich von 75-100 definieren, obwohl ein solcher Bereich nie genutzt wrde. Als n„chstes muss man festlegen, ob in dem Bereich die Farben zyklisch durchgewechselt werden sollen oder nicht. Dazu dient der Button zykl.; ist er aktiviert, so werden die Farben durchgewechselt, ansonsten nicht. Im letzteren Fall muss nur noch festgelegt werden, welche Farbe dem Bereich zugeordnet werden soll. Dies geschieht durch den Eintrag Farbe. Dabei gibt es eine Besonderheit, gibt man als Farbe -1 an, so wird die auf die zuletzt verwendete Farbe folgende Farbe hergenommen, handelt es sich um den ersten Farbbereich, so wird die Farbe 1 verwendet (auf diese Weise kann man nach zyklischen Bereichen im Farbverlauf fortfahren ohne sich erst die letzte Farbe des Bereiches berlegen zu mssen). Bei zyklischen Bereichen legt der Eintrag Farbe die erste verwendete Farbe fest. In den Eintr„gen ... bis ... gibt man an, welche Farben hergenommen werden sollen (dabei muss der erste Eintrag kleiner sein als der zweite) und mit Step erkl„rt man, wieviele Tiefenstufen in der gleichen Farbe dargestellt werden sollen. Als letzter Farbparameter muss schliesslich noch eingestellt werden, in welcher Farbe Punkte dargestellt werden sollen, die "tiefer" als die max. Tiefe liegen, auch hier ist -1 als Joker verwendbar. Soweit zu den Parametern fr die Erzeugung eines Bildes. Ich kann gut verstehen, dass Ihnen das ganz sch”n kompliziert vorkommt. Es ist wohl auch nicht ganz einfach, aber zum einen muss man ja nicht jedes Detail ausnutzen und zum anderen muss man einfach ein bisschen herumprobieren, dann findet man sich mit der Zeit schon zurecht. Wer allerdings geglaubt hat, schlimmeres k”nnte ihm nicht wiederfahren, der hat sich geirrt, es kommt noch schlimmer: 36 2.3 Fractalbildfolgen Wie bereits erw„hnt geh”rt es zu den F„higkeiten von FRACTAL, nicht nur Einzelbilder, sondern auch Bildfolgen berechnen zu k”nnen. Dabei mssen die Bildparameter fr das erste und das letzte Bild sowie die Bildzahl angegeben werden, FRACTAL interpoliert dann die Werte fr die dazwischen liegenden Bilder. Die Parameter werden in der selben Dialogbox eingegeben, wie die Parameter von Einzelbildern28. Dabei dient die linke Spalte fr die Parameter des ersten, und die rechte Spalte fr die Parameter des letzten Bildes. Alle Einstellungen die nur einfach vorhanden sind gelten fr alle Bilder der Bildfolge, dies sind Bildgr”sse, Berechnungsmodus sowie die Farben. Bei den anderen Parametern kann schliesslich noch die Art der Interpolation gew„hlt werden. Dazu dienen die Button rechts von den Parameterangaben. Gew„hlt werden kann lineare (0), progressive (+) und degressive (-) Interpolation. Bei linearer Interpolation sind die Unterschiede zwischen den Parametern zweier aufeinanderfolgender Bilder stets gleich gross, bei progressiver Interpolation nehmen sie zu und bei degressiver ab. Noch eine Bemerkung zu den Bildnamen bei Bildfolgen: der in der Dialogbox angegebe- ne Name kann h”chstens sechs Zeichen lang sein (andernfalls werden die letzten Zeichen berschrieben), ist er krzer, so wird er mit '_' erweitert, und in den Zeichen 7 und 8 die Nummer des jeweiligen Bildes (beginnend mit 00) eingetragen. 2.4 3d Fractale Im Vergleich zu den normalen Fractalen mit ihrer komplizierten Farbgestaltung sind 3d Fractale fast schon einfach. Bei 3d Fractale wird die Berechnungstiefe durch die Tiefe oder H”he der gezeichneten Punk- te dargestellt. Die Parameter entsprechen weitgehend denen von normalen Fractalen. Allerdings ist die maximale Tiefe bei 3d Fractalen auf 115, 160 bzw. 240 bei kleinen, mittleren oder grossen Bilder beschr„nkt (in der sw-Version, fr die Farb-Version muss man die Werte noch mal etwa halbieren) Es kann auch nicht zwischen schneller und genauer Berechnungsroutine unterschieden wer- den (verwendet wird stets die schnelle Berechnugsroutine), und die Farbeinstellung f„llt ganz weg. Eingestellt werden muss statt dessen, ob das Fractal hoch oder tief gezeichnet werden soll, und mit welchem Raster das Fractal dargestellt werden soll. Hier hilft Ausprobieren der M”glichkeiten und Anschauen der Ergebnisse glaube ich besser als langatmige Erkl„rungen. 2.5 freie Fractale Fr freie Fractale, d.h. Bilder mit frei definierter Rekursionsformel, kommen zu den Para- metern fr 2d-Fractale noch einige hinzu, die in einer eigenen Dialogbox vor den anderen Parametern eingegeben werden mssen. ____________________________________28 Wer also die Parametereingabe fr ein Bild verstanden hat, der wird auch mit Bildfolgen ke* *ine grossen Probleme haben, insofern stimmt die oben gemachte Bemerkung, es k„me noch schlimmer, vielleich* *t doch nicht so ganz. 37 Berechnungsformel Zun„chst einmal muss man natrlich die Berechnungsformel angeben. Diese ist ein beliebiger Funktionsstring, der (komplexe) Konstante, Variable, Operatoren und Funktionen enthalten kann. Konstante mssen die Form Realteil + i Imagin„rteil besitzen und vorsichtshalber geklam- mert werden (normalerweise brauch man eh keine). An Variablen kann man zn, d.h. den momentanen Wert der Rekursionsfolge, z0 den Start- wert, d.h. die komplexen Koordinaten der Bildschirmpunktes, die reelle Zahl a und die komplexe Zahl c (wie in den weiteren Parametern eingegeben) verwenden. An Operationen kann die blichen bin„ren Operationen +, -, *, / und ^ (Potenz) verwenden; ausserdem Klammern ( und ) und Vorzeichen -. An (komplexen) Funktionen werden untersttzt: Re | Realteil einer komplexen Zahl Im | Imagin„rteil einer komplexen Zahl konj |komplex konjugieren abs |Absolutquadrat einer komplexen Zahl (abs (x + iy) = x2 + y2) |(der Name ist eigentlich falsch!) quad | Quadrat kubik | dritte Potenz sin |Sinus cos |Cosinus exp |Exponentialfunktion log |Logarithmus Anmerkung: m”chte man die n-te Potenz einer Zahl zn verwenden (n ganz), so sollte man nicht zn^ n benutzen, sondern die Funktionen quad, kubik, und Produkte aus zn und ihnen - z.B. zn^ 4=quad(quad(zn)) - was wesentlich schneller berechnet wird. Beispiele fr eine Berechnungsformel: Apfelm„nnchen: quad(zn)-z0 Juliamengen: quad(zn)+c Die Berechnungsformel wird zur Auswertung brigens compiliert, d.h. in Maschinencode bersetzt, wenn auch nicht allzu guten. Tritt dabei ein Fehler auf, so wird dieser in einer Alertbox angezeigt, die Dialogbox kann nicht mit Ok verlassen werden. weitere Parameter fr freie Fractale Neben der Berechnungsformel kann man auch die Abbruchbedingung und die Art des Punkte-Setzens beeinflussen. Bei der Abbruchbedingung hat man die M”glichkeit eine oder zwei relevante Gr”ssen zu bestimmen, wobei der Betrag, der Real- sowie der Imagin„rteil der Folgenglieder zur Wahl stehen (die Abbruchbedingung lautet immer: Gr”sse > Abbruch, wobei Abbruch der in den Parametern wie bei normalen Fractalen angegebene Wert ist). W„hlt man zwei Gr”ssen und damit eigentlich zwei Bedingungen, so kann man noch die logische Verknpfung (and, or oder xor) zwischen diesen w„hlen. Žhnlich legt man die Bedingung zum Punkte-Setzen fest. Entweder man l„sst die Punkte entsprechend den Berechnungsschritten setzen - nur dann kann man bei den brigen Para- metern auch die Farbeinstellung wie bei normalen Fractalen vornehmen - oder man definiert eine Bedingung die erfllt sein muss, damit ein Punkt gesetzt wird. Diese Bedingung ent- 38 spricht der Abbruchbedingung und wird genauso festgelegt (man kann hier natrlich andere Kombinatinen w„hlen), allerdings werden hier Bedingungen Gr”sse < Abbruch verwendet29. Nach Verlassen der Dialogbox fr frei definierte Fractale mit Ok muss man in der ganz nor- malen Parameterdialogbox (wie fr normale Fractale) noch die brigen Parameter angeben. Und was soll das alles? Falls sie sich dies fragen, weil sie kaum noch verstehen, was denn nu bei welcher Einstellung wie berechnet und gezeichnet wird, soll hier noch kurz erkl„rt werden, woher frei definierte Fractale kommen. Sie kommen von Pickover-Mengen, die im Spektrum der Wissenschaft Sonderheft Compu- terkurzweil IV unter dem Stichwort Biomorphe beschrieben wurden. Dabei verwendet man Berechnungsformeln z.B. vom Typ zn^n + c (n=3,4,5: :):und als Abbruch- wie als Punktsetz-Bedingung Re or Im. 3 untersttzte Optionen Da die Fractal-Routinen gewissermassen das Mass aller Dinge bei der Entwicklung von CHAOSultd waren30, jedenfalls haben sie die m”glichen Optionen vorgegeben, werden im Prinzip alle m”glichen Optionen von den Fractal-Routinen auch in irgendeiner Weise un- terstzt. 3.1 Parameter anzeigen Alle Parameter werden angezeigt. Bei freidefinierten Fractalen muss man zur Anzeige der Be- rechnungsformel und Abbruch- sowie Punktsetz-Bedingung in eine zweite Dialogbox (ber den Button - >frPar) verzweigen. Das gleiche gilt fr die Farbtabelle in der Farb-Version. Žndern kann man Bildnamen und Dateipfad (auch mittels Dateiselector ber den Button select) sowie die Farbeinstellung. Die Angaben werden nur bernommen, wenn man die Dialogbox mit Ok verl„sst. 3.2 Bild-Info anzeigen Fr die Fractal-Routinen steht ein umfangreiches Bild-Info fr Einzelbilder zur Verfgung, die CHAOSultd-Routine zur Anzeige von Infos ber mehrere Bilder wird untersttzt. In Einzelbild-Infos wird angezeigt: die Anzahl der Bildpunkte (nicht Pixel!) - insgesammt und als H”he mal Breite; die Berechnungszeit in Stunden, Minuten und Sekunden, sowie die Zeit pro Zeile in Sekunden und pro Punkt in Millisekunden; die mittlere Tiefe (Zahl der Iterationen geteilt durch Anzahl der Bildpunkte) und zum Vergleich die maximale Tiefe; die Anzahl der Iterationen und die Zeit pro Iteration (in Mikrosekunden); ____________________________________29 natrlich sind nicht alle Kombinationen von Abbruch- und Punktsetz-Bedingung auch sinnvoll* *, das sollte man sich vorher berlegen 30was nicht heisst, dass das so bleiben muss 39 die Anzahl der n”tigen Multiplikationen, die mittlere Zeit pro Multiplikation31 und die sich daraus ergebende Zahl von Multiplikationen pro Sekunde. Die Angaben ber Multiplikationen sind bei freie definierter Berechnungsformel nicht m”glich. Fr Infos ber mehrere Bilder entsprechen die Angaben ber Iterationen, Bildpunkte und Berechnungszeit denen der Einzelinfos. 3.3 Bilder anzeigen Beim Bilder anzeigen werden die Optionen weitgehend unterstzt. Die Anzeige von Koordi- naten und Konstanten in bei 3d-Bildern natrlich unm”glich, bei den anderen Bildern wird die Konstante c als Konstante angezeigt. Ein Punktinfo ist nur bei normalen Fractalen m”glich, wobei neben Koordinaten auch die Tiefe angezeigt wird; ist sie gr”sser als die maximale Tiefe des Bildes, so wird dies durch das unendlich-Symbol markiert. 3.4 Block zeigen Block-Auschnitte enthalten k”nnen nur zweidimensionale Bilder. 3d Bilder k”nnen lediglich aus Ausschnitt in einem zweidimensionalen Bild angezeigt werden. 3.5 neu berechnen Beim neu berechnen von Fractalen k”nnen Bildgr”sse, Abbruchbedingung, maximale Tiefe, Genauigkeit, Darstellung bzw. Farbtabelle, die Farbkodierung von 2d-Bildern, das Raster und der Modus von 3d-Bildern sowie fr frei definierte Fractale die Berechnungsformel, die Abbruchbedingung und die Punktsetz-Bedingung neu vereinbart werden. In der Dialogbox muss dazu einerseits der gewnschte neue Wert einer Gr”sse angegeben werden, der dann fr alle zu neu berechnenden Bilder Verwendung findet, andererseits muss das Neu-setzen dieses Wertes durch selektieren des zugeh”rigen Button aktiviert werden. Die Einstellungen fr frei definierte Fractale finden sich in einer eigenen Dialogbox, in die man mit dem Button fr. Param. gelangt; auch die Farbtabelle wird natrlich in der blichen Weise eingegeben. Bilder werden grunds„tzlich nur neu berechnet, wenn sich ihre Parameter ge„ndert haben; hat man nur die Farbetabelle (bzw. Darstellung) ge„ndert, so wird das Bild einfach kopiert (soweit es bereits berechnet ist). 3.6 Vier Bilder Die Option vier Bilder wird nicht fr 3d Bilder untersttzt. 3.7 Hardcopy Das Ausdrucken der Parameter unter eine Hardcopy wird voll untersttzt. ____________________________________31 d.h. die Berechnungszeit geteilt durch die Zahl der Multiplikationen, tats„chlich dauert e* *ine Multiplika- tion an sich weniger lang, wobei auch noch zwischen Quadratur einer Zahl und Multiplikation zwe* *ier Zahlen unterschieden werden msste 40 Teil III Hpfer 1 der Algorithmus Hpfer basiert auf einem Algorithmus von Barry Martin, der im Computer-Kurzweil der Zeitschrift Spektrum der Wissenschaft vorgestellt wurde. Dabei betrachtet man eine Folge von Zahlenpaaren xn und yn mit der folgenden Iterations- vorschrift: q _______________ xn+1 = yn - sign(xn) . abs (b . xn - c) yn+1 = a - xn wobei a, b und c frei w„hlbare Parameter sind. Die Punkte (xn; yn) werden in einem Koordinatensystem aufgetragen, woraus sich mehr oder weniger interessante Figuren ergeben. Anders als bei Fractalen (siehe Teil II) erh„lt man hier eine Vielfalt von Formen nicht so sehr aus der Wahl des Koordinatenausschnittes sondern aus der Wahl der Parameter a, b und c. Das Ergebnis h„ngt ausserdem - ebenfalls im Unterschied zu Fractalen - recht stark von der Anzahl der Iterationen ab: einerseits k”nnen ganze Bildteile unter Umst„nden erst nach sehr vielen Iterationen zum Vorschein kommen, andererseits k”nnen auch Strukturen bei zu vielen Iterationen durch die vielen gezeichneten Punkte wieder berdeckt werden. Man beachte, dass aufgrund des Algorithmus die Rechenzeit nicht von der Bildgr”sse abh„ngt32. Berechnet man kleine Bilder, so fhrt das lediglich zu einer Speicherplatz- nicht aber zu einer Rechenzeitersparnis33. 2 Parameter An Parametern fr die Berechnung von Hpfer-Bildern sind zun„chst einmal - wie blich - Bildname, Anzahl der Bilder, die Bildgr”sse und in der sw-Version die Darstellung (normal oder invers) bzw. in der Farb-Version die Farbtabelle anzugeben. Die folgenden Parameter sind wie blich doppelt anzugeben - fr das erste und fr das letzte Bild einer Bilderfolge; berechnet man nur ein Bild, so braucht man natrlich nur die linke Spalte auszufllen. Auch die Button fr den Interpolationsmodus sind ja bekannt. Zun„chst einmal muss man die drei Parameter a, b und c der Iterationsvorschrift angeben; es folgen die Startwerte fr x und y sowie die Festlegung des Bildausschnittes. Aus tra- ditionellen Grnden geschieht dies im allgemeinen nicht durch minimalen und maximalen Wert fr x und y sondern durch einen Vergr”sserungsfaktor (scale und einen Offset, der die Position der Bildmitte angibt (jeweils fr x und y getrennt). Man kann in der Dialogbox ____________________________________32 die Rechenzeit h„ngt hier lediglich von der Zahl der Iterationen ab, weshalb sie auch vorh* *er abgesch„tzt werden kann 33das Berechnen von vier Bildern dauert allerdings trotzdem viermal so lang, da dabei die vie* *r Bilder unabh„ngig von einander berechnet werden 41 auch durch Anklicken des Button auf die Eingabe der Minimal- und Maximal-Werte um- schalten, dabei ist aber zu beachten, dass fr die Interpolation bei Bildfolgen stets mit den Vergr”sserungsfaktoren und Offset's gerechnet wird (d.h. bei Verlassen der Box werden die Werte in diesen Modus umgerechnet). Schliesslich ist noch die Iterationsanzahl anzugeben und die Schrittweite, d.h. die Zahl der Iterationen nach der jeweil ein Punkt gesetzt werden soll (normalerweise setzt man nach jedem Schritt einen Punkt, d.h. Schrittweite 1). Die Eingabe der Parameter wird wie bei Fractalen durch eine Reihe von M”glichkeiten untersttzt. Es gibt die blichen Button Def fr eine Defaulteinstellung, Clr zum L”schen aller Eingaben, - > zum Kopieren von links nach rechts, sowie je fr die linke und rechte Parameterh„lfte get, blk und clr. Zus„tzlich gibt es rnd. Bei get und blk werden stets alle P* *a- rameter kopiert (mit Ausnahme des Namens) man kann dabei ausschliesslich Hpfer-Bilder ausw„hlen. rnd erm”glicht die Vorbelegung der Parameter a, b und c mit Zufallszahlen. Den Bereich fr diese Zufallszahlen kann man durch Aufruf des Hpfer-Meneintrages zu- sammen mit der CONTROL-Taste einstellen, wobei man links den minimalen und rechts den maximalen Wert angibt. Ebenfalls Zufallszahlen fr die Bildparameter a, b und c erreicht man durch den zus„tzlichen (zu den von den Fractal-Routinen bekannten) Interpolationstyp r wie random. W„hlt man r als Interpolationstyp, so wird nicht interpoliert sondern ein Zufallswert zwischen den zwei angegebenen Werten ermittelt (in diesem Fall ist auch bei der Berechnung eines einzigen Bildes die rechte Parameterh„lfte (wenigstens teilweise) relevant). Die Vorbelegung der Parameter kann man wie blich durch SHIFT-Klick auf den Hpfer- Meneintrag erreichen. 3 untersttzte Routinen Die meisten M”glichkeiten von CHAOSultd werden untersttzt. Berechnungsabbruch ist alle 256 Berechnungsschritte m”glich - wie blich durch Drcken der ESC-Taste. Man kann dabei durch gleichzeitiges Drcken von CONTROL (an dieser Stelle nur gleichzeitig mit dem Drcken von ESC, nicht mehr danach) erreichen, dass das Bild - soweit bisher berechnet - fr fertig erkl„rt wird, die Angabe fr die Iterationsanzahl wird dann entsprechend herabgesetzt (ohne Auswirkung auf weitere Bilder etwa in einer Bilderfolge). Beim Parameter anzeigen kann man umgekehrt die Iterationsanzahl wieder erh”hen, die entsprechende Angabe in der Dialogbox ist edierbar. Man kann also die gewnschte neu Iterationsanzahl eingeben, die aber gr”sser sein muss, als die Anzahl der bisher berechneten Iterationen (andernfalls wird die Angabe schlicht ignoriert); ein bereits fertiges Bild kann auf diese Weise wieder unfertig werden. Weiter kann man Bilderinfos anzeigen lassen, wobei es aber kein ausfhrlicheres Info fr Einzelbilder gibt. Blockroutinen (Block zeigen, Koordinaten anzeigen beim Anzeigen der Bilder) werden ebenso untersttzt wie das Ausdrucken der Parameter bei Hardcopies. Beim ebenfalls m”glichen Konstante anzeigen wird der letzte berechnete Punkt angezeigt, ein Punkt-Info ist aber nicht m”glich. Das Neu-Berechnen von Hpferbildern ist m”glich, wobei alle Parameter (einschliesslich Bildausschnitt) ver„ndert werden k”nnen. 42 Teil IV Feigenbaum-Diagramme Feigenbaum-Diagramme wurden als Beispiel fr externe Berechnungsroutinen aufgenom- men. Sie k”nnen also nur erzeugt (geladen und verwaltet) werden, wenn sich die Datei FEIGBAUM.XCH im Ordner CHS_ULTD befindet und so beim Starten des Programmes nach- geladen wird. Ist dies der Fall, so verhalten sich die Routinen fr den Anwender allerdings genauso als w„ren sie fest im Programm installiert. Feigenbaum-Diagramme k”nnen nur bei Monochrombetrieb verwendet werden. 1 Algorithmus Der Algorithmus von Feigenbaum-Diagrammen ist noch einfacher als der fr Hpfer. Dabei wird eine Folge von Zahlen nach der Rekursionsformel xn+1 = r . xn . (1 - xn) gebildet (mit x0 6= 0, z.B. x0 = 0:5). Aufgetragen werden die Werte, die xn annimmt, gegen den Parameter r, wobei man aller- dings die ersten N1 Folgenglieder wegl„sst. Als Ergebnis erh„lt man das Feigenbaumdiagramm. Warum das so aussieht wie es aussieht kann man z.B. im Spektrum der Wissenschaft Sonderheft Computerkurzweil III nachlesen. 2 Parameter N”tige Parameter zum Plotten von Feigenbaumdiagrammen sind minimaler und maximaler Wert der Parameters r (blicherweise zwischen 0 und 4) sowie der Folgenglieder x (natrlich nur fr die Ausgabe, die Werte liegen zwischen 0 und 1), der Startwert x0 (ebenfalls zwischen 0 und 1), der Zeichenmodus (hoch oder quer), die Zahl der Iterationen vor dem Plotten der Punkte (z.B. 200) und die Zahl der Iterationen beim Plotten der Punkte (z.B. ebenfalls 200), wobei hier noch eine Schrittweite angegeben werden kann, d.h. die Zahl an Iterationen zwischen zwei Plots (normalerweise 1, d.h. man l„sst jeden Folgenwert zeichnen). Alle diese Parameter k”nnen zusammen mit den blichen Parametern wie Bildname, Bilder- zahl, Bildgr”sse und Farbe (normal/invers) in der Parameterdialogbox eingegeben werden. Es gibt die blichen Interpolationstypen falls man mehrere Bilder berechnet. Ebenso stehen die blichen Hilfsfunktionen zum bernehmen von Parametern aus Objek- ten usw. zur Verfgung (allerdings ohne Unterscheidung von Doppel- und Einfachklick, es k”nnen auch nur Feigenbaumdiagramme ausgew„hlt werden), der Button FGBM stellt das Standart-Feigenbaum-Diagramm ein. 3 untersttzte Routinen Die Feigenbaumroutinen untersttzen nicht alle M”glichkeiten von CHAOSultd. Untersttzt werden die Anzeige der Parameter, die Anzeige von Bilderinfos (aber ohne eigenen Dialog fr Einzelbilder), Blockroutinen und das Ausdrucken der Parameter. 43 Nicht untersttzt wird die Funktion neu berechnen und das Vergr”ssern in vier Bilder, Feigenbaum-Diagramme sind einfach nicht abwechslungsreich genug um diese Routinen auch noch zu implementieren, die Routinen sollen ja insgesamt vor allem als Beispiel fr exteren Routinen und deren Realisierung dienen. 44